Per le operazioni di input/output di disco e rete, Confidential VM utilizza un'area specifica in memoria chiamata Software Input Output Translation Lookaside Buffer (SWIOTLB), che ha una dimensione predefinita di 64 MB. SWIOTLB fa parte della RAM totale disponibile sulla VM guest.
Per verificare se un'istanza Confidential VM ha riscontrato l'errore swiotlb buffer is full
, connettiti all'istanza ed esegui il seguente comando per eseguire query sui log dmesg
:
dmesg | grep 'swiotlb buffer is full'
Per risolvere il problema, aumenta le dimensioni di SWIOTLB. Prima di aumentare le dimensioni, assicurati che l'ospite abbia RAM sufficiente per SWIOTLB e il sistema operativo.
Aumentare le dimensioni di SWIOTLB
Per aumentare le dimensioni di SWIOTLB, aggiungi la seguente riga a
/etc/default/grub
:GRUB_CMDLINE_LINUX_DEFAULT=".... swiotlb=SIZE_IN_BYTES"
Il seguente esempio mostra come aumentare le dimensioni di SWIOTLB a 512 MB:
GRUB_CMDLINE_LINUX_DEFAULT=".... swiotlb=262144"
In base alla versione di Ubuntu, devi aggiornare la stringa nel file
grub
. Ad esempio, se utilizzi Ubuntu 18.04, devi aggiornare la stringaGRUB_CMDLINE_LINUX
anziché la stringaGRUB_CMDLINE_LINUX_DEFAULT
.Esegui questo comando per rigenerare
grub.cfg
:Ubuntu
sudo update-grub
Altre distribuzioni
grubcfg="/etc/grub2-efi.cfg" cp $grubcfg $grubcfg.bak grub2-mkconfig -o $grubcfg
Riavvia la VM.
Per ulteriori informazioni, vedi Come aumentare il limite SWIOTLB.