关闭主机I/O缓存可提升VirtualBox中Vagrant Debian虚拟机的部署性能?
解决Vagrant + Debian Stretch64环境下dpkg解压慢的问题
我最近基于debian/stretch64镜像搭建Vagrant环境,用来做Ruby Chef的测试平台,结果初始化配置的过程慢到让人抓狂——光是dpkg的Unpacking ...环节就耗了好几分钟,还把系统资源占得满满的。
一开始我就怀疑是磁盘I/O拖了后腿,毕竟解压大量deb包的时候,磁盘性能绝对是瓶颈。后来翻VirtualBox的设置,找到了SATA控制器里的Use Host I/O Cache选项——果断把它关掉,再重新跑一遍初始化命令,耗时直接砍了一大半!
给大家整理下这个实用的优化点:
- 问题原因:VirtualBox默认开启的Host I/O Cache,在虚拟机执行大量磁盘写入操作(比如dpkg解压)时,会产生额外的性能开销,拖慢整个过程
- 具体操作步骤:
- 打开VirtualBox管理界面,找到对应的Vagrant虚拟机
- 点击「设置」→ 切换到「存储」标签页
- 选中列表里的SATA控制器,取消右侧的「Use Host I/O Cache」勾选
- 重启虚拟机后,重新执行你的Chef配置命令
亲测这个改动对dpkg解压阶段的速度提升特别明显,如果你也在Vagrant+Debian环境下遇到类似的慢启动问题,一定要试试这个方法!
内容的提问来源于stack exchange,提问作者moritz
相关产品推荐
相关产品推荐

