如果我错了,请纠正我。我认为 VirtualBox 和任何其他应用程序一样,如果使用了太多内存,就会被交换到磁盘。有没有办法强制系统始终将所有 VirtualBox 进程保留在内存中?
答案1
有什么方法可以强制系统始终将所有 VirtualBox 进程保存在内存中?
有mlock(2)它“将调用进程的部分或全部虚拟地址空间锁定到 RAM 中,从而防止该内存被分页到交换区域”。如果您设法从 VirtualBox 调用它,那么它就可以做到,是的。
答案2
为主机操作系统和虚拟机提供足够的 RAM,并将 swappiness 值设置为零。
在客户虚拟机中,关闭交换文件。这可能看起来不太明显,但正是客户操作系统及其应用程序使 VirtualBox 使用 RAM,并且客户操作系统也会分页到磁盘(或虚拟磁盘 - 速度相当慢)。
关键是要为主机和客户虚拟机提供足够的 RAM。