我的 Ubuntu(主机)上有一个 Virtualbox,它为一些 Windows 客户操作系统提供服务。
有时正在运行的 Windows 虚拟机会开始大量访问磁盘,这会阻止我进入主机环境。我想限制对物理硬盘的数据访问的读/写。
我该怎么做?
答案1
从 4.0 版开始,我们可以限制 Virtual Box 访问磁盘映像的带宽(请参阅Virtual Box 使用手册了解详情)
我们需要先创建一个带宽组(在下面的例子中,名为“Limit”,为 20 MB/s):
VBoxManage bandwidthctl "VM name" add Limit --type disk --limit 20M
VBoxManage storageattach "VM name" --storagectl "SATA" --port 0 --device 0 --type hdd
--medium disk1.vdi --bandwidthgroup Limit
VBoxManage storageattach "VM name" --storagectl "SATA" --port 1 --device 0 --type hdd
--medium disk2.vdi --bandwidthgroup Limit
如果出现此错误:
VBoxManage: error: Cannot register the hard disk '.../foo.vdi' {...} because a hard disk '.../foo.vdi' with UUID {...} already exists
然后用错误中给出的 UUID 替换磁盘映像的路径(两者应该相同),包括{}
为了进一步将磁盘访问限制为 10 MB/s,我们可以执行
VBoxManage bandwidthctl "VM name" set Limit --limit 10M
这甚至可以在运行时完成。