我在 OSX 上运行一个装有 Node 应用的 vagrant box。我的问题是,运行grunt
或supervisor
启动应用的速度非常慢:启动应用大约需要 60 秒,更改后重新加载需要 60 秒。
我认为问题不在于应用程序本身,因为其他人可以在其他机器上的相同 Vagrant 盒中毫无问题地运行它。
此外,我还可以在此机器上运行其他 Vagrant 盒,没有任何问题。
我增加了机器上 Vagrant 盒可用的内存,但没有成功。
有人能建议我如何调试这个问题吗?
更新:top
在 Vagrant 盒子上运行当 grunt 也在运行这表明 Vagrant 进程占用了 98% 的可用 CPU。top
在 grunt 未运行时运行显示 Vagrant 仅占用了 3% 的可用 CPU。我不知道接下来该怎么办。非常感谢大家提出建议。
答案1
检查盒子上的客人添加内容是否是最新的(vagrant-vbguest插件可以提供帮助)。 特别是当您从同步文件夹运行应用程序时。
如果你确实使用同步文件夹,使用 NFS 可以大大加快速度(请参阅这个博客)。Vagrant 1.5 将提供 rsync 同步文件夹,但在此之前,如果性能仍然是一个问题,您也可以将应用程序代码复制到本机 VM 磁盘。