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 da RAM total 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
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ê usa o Ubuntu 18.04, é necessário atualizar a stringGRUB_CMDLINE_LINUXem vez da stringGRUB_CMDLINE_LINUX_DEFAULT.Execute o seguinte comando para regenerar
grub.cfg:Ubuntu
sudo update-grubOutros distros
grubcfg="/etc/grub2-efi.cfg" cp $grubcfg $grubcfg.bak grub2-mkconfig -o $grubcfgReinicialize a VM.
Para mais informações, consulte Como aumentar o limite do SWIOTLB.