Stay organized with collectionsSave and categorize content based on your preferences.
For disk and network input/output operations, Confidential VM uses a specific area
in memory called the Software Input Output Translation Lookaside Buffer
(SWIOTLB), which has a default size of 64 MB. The SWIOTLB is part of the
total available RAM on the guest.
To check if a Confidential VM instance has encountered theswiotlb buffer is fullerror, connect to the instance and run the following command to query thedmesglogs:
dmesg|grep'swiotlb buffer is full'
To resolve this issue, increase the SWIOTLB size. Before increasing the size,
ensure that the guest has enough RAM for the SWIOTLB and the operating system.
Increase the SWIOTLB size
To increase the size of the SWIOTLB, append the following line to/etc/default/grub:
The following example shows how to increase the size of the SWIOTLB to
512 MB:
GRUB_CMDLINE_LINUX_DEFAULT=".... swiotlb=262144"
Based on the Ubuntu version, you need to update the string in thegrubfile. For example, if you use Ubuntu 18.04, you need to update theGRUB_CMDLINE_LINUXstring instead of theGRUB_CMDLINE_LINUX_DEFAULTstring.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-04 UTC."],[[["\u003cp\u003eConfidential VMs utilize a memory area called SWIOTLB for disk and network I/O, which defaults to 64 MB and is part of the guest's total RAM.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eswiotlb buffer is full\u003c/code\u003e error can be checked by connecting to the instance and querying the \u003ccode\u003edmesg\u003c/code\u003e logs using \u003ccode\u003edmesg | grep 'swiotlb buffer is full'\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eTo resolve the \u003ccode\u003eswiotlb buffer is full\u003c/code\u003e error, you need to increase the SWIOTLB size by appending \u003ccode\u003eswiotlb=<SIZE_IN_BYTES>\u003c/code\u003e to the \u003ccode\u003eGRUB_CMDLINE_LINUX_DEFAULT\u003c/code\u003e line in \u003ccode\u003e/etc/default/grub\u003c/code\u003e (or \u003ccode\u003eGRUB_CMDLINE_LINUX\u003c/code\u003e for Ubuntu 18.04).\u003c/p\u003e\n"],["\u003cp\u003eAfter modifying the grub file, you need to regenerate the \u003ccode\u003egrub.cfg\u003c/code\u003e file by using either the command \u003ccode\u003esudo update-grub\u003c/code\u003e for Ubuntu, or the commands \u003ccode\u003egrubcfg="/etc/grub2-efi.cfg"\u003c/code\u003e, \u003ccode\u003ecp $grubcfg $grubcfg.bak\u003c/code\u003e and \u003ccode\u003egrub2-mkconfig -o $grubcfg\u003c/code\u003e for other distros, followed by a reboot.\u003c/p\u003e\n"]]],[],null,["# Full SWIOTLB\n\nFor disk and network input/output operations, Confidential VM uses a specific area\nin memory called the Software Input Output Translation Lookaside Buffer\n(SWIOTLB), which has a default size of 64 MB. The SWIOTLB is part of the\ntotal available RAM on the guest.\n\nTo check if a Confidential VM instance has encountered the `swiotlb buffer is full`\nerror, connect to the instance and run the following command to query the\n`dmesg` logs: \n\n dmesg | grep 'swiotlb buffer is full'\n\nTo resolve this issue, increase the SWIOTLB size. Before increasing the size,\nensure that the guest has enough RAM for the SWIOTLB and the operating system.\n\nIncrease the SWIOTLB size\n-------------------------\n\n1. To increase the size of the SWIOTLB, append the following line to\n `/etc/default/grub`:\n\n GRUB_CMDLINE_LINUX_DEFAULT=\".... swiotlb=\u003cvar translate=\"no\"\u003eSIZE_IN_BYTES\u003c/var\u003e\"\n\n The following example shows how to increase the size of the SWIOTLB to\n 512 MB: \n\n GRUB_CMDLINE_LINUX_DEFAULT=\".... swiotlb=262144\"\n\n Based on the Ubuntu version, you need to update the string in the `grub`\n file. For example, if you use Ubuntu 18.04, you need to update the\n `GRUB_CMDLINE_LINUX` string instead of the `GRUB_CMDLINE_LINUX_DEFAULT`\n string.\n2. Run the following command to regenerate `grub.cfg`:\n\n ### Ubuntu\n\n sudo update-grub\n\n ### Other distros\n\n grubcfg=\"/etc/grub2-efi.cfg\"\n cp $grubcfg $grubcfg.bak\n grub2-mkconfig -o $grubcfg\n\n3. Reboot the VM.\n\nFor more information, see\n[How to increase SWIOTLB limit](https://github.com/AMDESE/AMDSEV#faq-4)."]]