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
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 stringGRUB_CMDLINE_LINUX
em vez da stringGRUB_CMDLINE_LINUX_DEFAULT
.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
Reinicialize a VM.
Para mais informações, consulte Como aumentar o limite do SWIOTLB.