如何在 Linux 中禁用 VirtualBox 的交换?

如何在 Linux 中禁用 VirtualBox 的交换?

如果我错了,请纠正我。我认为 VirtualBox 和任何其他应用程序一样,如果使用了太多内存,就会被交换到磁盘。有没有办法强制系统始终将所有 VirtualBox 进程保留在内存中?

答案1

有什么方法可以强制系统始终将所有 VirtualBox 进程保存在内存中?

mlock(2)它“将调用进程的部分或全部虚拟地址空间锁定到 RAM 中,从而防止该内存被分页到交换区域”。如果您设法从 VirtualBox 调用它,那么它就可以做到,是的。

答案2

为主机操作系统和虚拟机提供足够的 RAM,并将 swappiness 值设置为零。

在客户虚拟机中,关闭交换文件。这可能看起来不太明显,但正是客户操作系统及其应用程序使 VirtualBox 使用 RAM,并且客户操作系统也会分页到磁盘(或虚拟磁盘 - 速度相当慢)。

关键是要为主机和客户虚拟机提供足够的 RAM。

相关内容