SWIOTLB completo

Para operações de entrada/saída de disco e rede, a VM confidencial usa uma área específica na memória chamada Buffer de Lookaside de conversão de saída de entrada de software (SWIOTLB), que tem um tamanho padrão de 64 MB. O SWIOTLB faz parte do total de RAM disponível no convidado.

Para verificar se uma instância de VM confidencial encontrou o erro swiotlb buffer is full, conecte-se à instância e execute o seguinte comando para consultar os registros dmesg:

dmesg | grep 'swiotlb buffer is full'

Para resolver esse problema, aumente o tamanho do SWIOTLB. Antes de aumentar o tamanho, verifique se o convidado tem RAM suficiente para o SWIOTLB e o sistema operacional.

Aumentar o tamanho do SWIOTLB

  1. Para aumentar o tamanho do SWIOTLB, anexe a seguinte linha a /etc/default/grub:

    GRUB_CMDLINE_LINUX_DEFAULT=".... swiotlb=SIZE_IN_BYTES"
    

    O exemplo a seguir mostra como aumentar o tamanho do SWIOTLB para 512 MB:

    GRUB_CMDLINE_LINUX_DEFAULT=".... swiotlb=262144"
    

    Com base na versão do Ubuntu, você precisa atualizar a string no arquivo grub. Por exemplo, se você usar o Ubuntu 18.04, será necessário atualizar a string GRUB_CMDLINE_LINUX em vez da string GRUB_CMDLINE_LINUX_DEFAULT.

  2. Execute o comando a seguir para regenerar grub.cfg:

    Ubuntu

    sudo update-grub
    

    Outros distros

    grubcfg="/etc/grub2-efi.cfg"
    cp $grubcfg $grubcfg.bak
    grub2-mkconfig -o $grubcfg
    
  3. Reinicialize a VM.

Para mais informações, consulte Como aumentar o limite do SWIOTLB.