我正在尝试故意减慢 Windows 机器上的文件访问速度,以测试我正在制作的应用程序的加载时间。
我尝试过虚拟机并为其提供有限的 CPU/RAM 资源,但这并不能完全满足我的要求。
有没有办法减慢对虚拟硬盘或文件夹等的访问速度?
VirtualBox/VMWare 都很好。
答案1
对于 VirtualBox,
从 4.0 版开始,我们可以限制 Virtual Box 访问磁盘映像的带宽(请参阅Virtual Box 使用手册了解详情)
我们需要先创建一个带宽组(在下面的例子中,名为“Limit”,为 20 MB/s):
VBoxManage bandwidthctl "VM name" --name Limit --add disk --limit 20 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
笔记:从版本 >= 4.2 开始,这些命令更改为:
VBoxManage bandwidthctl "VM name" add Limit --type disk --limit 20M VBoxManage storageattach "VM name" --controller "SATA" --port 0 --device 0 --type hdd --medium disk1.vdi --bandwidthgroup Limit VBoxManage storageattach "VM name" --controller "SATA" --port 1 --device 0 --type hdd --medium disk2.vdi --bandwidthgroup Limit
我们需要提供上述个人设置的详细信息。
为了进一步将磁盘访问限制为 10 MB/s,我们可以执行
VBoxManage bandwidthctl "VM name" --name Limit --limit 10 # version 4.0 VBoxManage bandwidthctl "VM name" set Limit --limit 10M # >= 4.2
这甚至可以在运行时完成。
请注意,所有功劳均归于Ask Ubuntu 上的原作者。