SWIOTLB completo

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

  1. 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 cadena GRUB_CMDLINE_LINUX en lugar de la cadena GRUB_CMDLINE_LINUX_DEFAULT.

  2. 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
    
  3. Reinicia la VM.

Para obtener más información, consulta Cómo aumentar el límite de SWIOTLB.