Para las operaciones de entrada y salida de disco y red, Confidential VM usa un área específica en la memoria llamada Software Input Output Translation Lookaside Buffer (SWIOTLB), que tiene un tamaño predeterminado de 64 MB. SWIOTLB es parte del total de memoria RAM disponible en el invitado.
Para verificar si una instancia de Confidential VM encontró el error swiotlb buffer is full
, conéctate a la instancia y ejecuta el siguiente comando para consultar los registros dmesg
:
dmesg | grep 'swiotlb buffer is full'
Para resolver este problema, aumenta el tamaño de SWIOTLB. Antes de aumentar el tamaño, asegúrate de que el invitado tenga una cantidad suficiente de RAM para el SWIOTLB y el sistema operativo.
Aumenta el tamaño de SWIOTLB
Para aumentar el tamaño del SWIOTLB, agrega la siguiente línea a
/etc/default/grub
:GRUB_CMDLINE_LINUX_DEFAULT=".... swiotlb=SIZE_IN_BYTES"
En el siguiente ejemplo, se muestra cómo aumentar el tamaño del SWIOTLB a 512 MB:
GRUB_CMDLINE_LINUX_DEFAULT=".... swiotlb=262144"
Según la versión de Ubuntu, debes actualizar la cadena en el archivo
grub
. Por ejemplo, si usas Ubuntu 18.04, debes actualizar la cadenaGRUB_CMDLINE_LINUX
en lugar de la cadenaGRUB_CMDLINE_LINUX_DEFAULT
.Ejecuta el siguiente comando para volver a generar
grub.cfg
:Ubuntu
sudo update-grub
Otras distribuciones
grubcfg="/etc/grub2-efi.cfg" cp $grubcfg $grubcfg.bak grub2-mkconfig -o $grubcfg
Reinicia la VM.
Para obtener más información, consulta Cómo aumentar el límite de SWIOTLB.