전체 SWIOTLB

디스크 및 네트워크 입력/출력 작업의 경우 컨피덴셜 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 크기 늘리기

  1. 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 문자열을 업데이트해야 합니다.

  2. 다음 명령어를 실행하여 grub.cfg를 다시 생성합니다.

    Ubuntu

    sudo update-grub
    

    기타 배포판

    grubcfg="/etc/grub2-efi.cfg"
    cp $grubcfg $grubcfg.bak
    grub2-mkconfig -o $grubcfg
    
  3. VM을 재부팅합니다.

자세한 내용은 SWIOTLB 한도를 늘리는 방법을 참고하세요.