디스크 및 네트워크 입력/출력 작업의 경우 컨피덴셜 VM은 기본 크기가 64MB인 Software Input Output Translation Lookaside Buffer(SWIOTLB)라는 메모리의 특정 영역을 사용합니다. SWIOTLB는 게스트에서 사용 가능한 총 RAM의 일부입니다.
컨피덴셜 VM 인스턴스에 swiotlb buffer is full
오류가 발생했는지 확인하려면 인스턴스에 연결하고 다음 명령어를 실행하여 dmesg
로그를 쿼리합니다.
dmesg | grep 'swiotlb buffer is full'
이 문제를 해결하려면 SWIOTLB 크기를 늘립니다. 크기를 늘리기 전에 게스트에 SWIOTLB 및 운영체제에 대해 충분한 RAM이 있는지 확인합니다.
SWIOTLB 크기 늘리기
SWIOTLB의 크기를 늘리려면
/etc/default/grub
에 다음 줄을 추가합니다.GRUB_CMDLINE_LINUX_DEFAULT=".... swiotlb=SIZE_IN_BYTES"
다음 예는 SWIOTLB 크기를 512MB로 늘리는 방법을 보여줍니다.
GRUB_CMDLINE_LINUX_DEFAULT=".... swiotlb=262144"
Ubuntu 버전에 따라
grub
파일의 문자열을 업데이트해야 합니다. 예를 들어 Ubuntu 18.04를 사용하는 경우GRUB_CMDLINE_LINUX_DEFAULT
문자열 대신GRUB_CMDLINE_LINUX
문자열을 업데이트해야 합니다.다음 명령어를 실행하여
grub.cfg
를 다시 생성합니다.Ubuntu
sudo update-grub
기타 배포판
grubcfg="/etc/grub2-efi.cfg" cp $grubcfg $grubcfg.bak grub2-mkconfig -o $grubcfg
VM을 재부팅합니다.
자세한 내용은 SWIOTLB 한도를 늘리는 방법을 참고하세요.