我在一台 32 位 Ubuntu 笔记本电脑上运行 Oracle VM VirtualBox Manager 4.1.12_Ubuntu,该笔记本电脑有 8GB RAM,而 64 位 Ubuntu VM 最多只能使用 3584MB RAM(Virtualbox 中启用了“启用 PAE/NX”设置,这决定了它应该在主机中运行)。我该如何克服这个内存限制,并使用更多内存运行 64 位 VM?
编辑:应该在笔记本电脑中启用 PAE,因为当我运行时,我可以看到 32 位 Ubuntu 12.04 系统的 8GB RAM top
:
Mem: 7785228k total, 1319304k used, 6465924k free, 103668k buffers
答案1
您可以通过将主机操作系统升级到 64 位版本来克服此限制。
[已更新,现在清楚主机和虚拟机均已启用 PEA]
管理内存的是您的主机操作系统(32 位 Ubuntu)。您的操作系统已启用 PAE,这意味着它(主机操作系统)可以寻址最多 36 位物理内存。但是应用程序仍然限于 32 位地址空间。
您可以在主机上运行多个应用程序(例如,两个程序使用 3½ GB 的 RAM),但不能运行使用超过 4GB RAM 的单个应用程序。
您的虚拟盒外壳是一个单一应用程序。
答案2
这只是 VirtualBox 代码中的一个错误。它假设 32 位主机无法使用超过 4GB 的 RAM,而忽略 PAE 技术。
可以通过修补 VBoxSVC.exe 来解决这个问题,具体方法如下https://deadfishsw.wordpress.com/2016/07/30/virtualbox-32bit-host-64bit-guest-surpassing-the-3584mb-limit/
VBoxManage modifyvm
或者您可以通过控制台命令临时修复虚拟机设置