尝试将我的应用程序从节点0.10.x升级到节点0.12.x系列时,我遇到了一个令人不快的惊喜:0.12比0.10使用了大约15%-20%的RAM。
根据io.js问题页面上的few threads判断,似乎问题在于底层的v8引擎。
现在软件更新很难向管理层出售。除此之外,需要支付更多VPS硬件而且几乎没有明显的好处,这对我们来说是一个交易破坏者。
有没有办法禁用任何新的铃声和放大器口哨V8补充说,正在占用额外的RAM?也许是吹捧的CPU配置文件?
我基本上在寻找一种v8交换机,它可以将内存使用量降低到与节点0.10附带的v8相当的水平。
答案 0 :(得分:8)
您可以使用--max-old-space-size
标志限制Node.js进程使用的内存量。也许你可以将内存限制在可接受的范围内,然后对你的应用进行基准测试,看看它是否可以接受。
node --max-old-space-size=512 myScript.js
我相信还有一些控制垃圾收集的标志可能值得探索。 this GitHub issue about v8 performance profiling etc.也值得您花时间阅读。
答案 1 :(得分:0)
如果您还可以选择恢复v.10,则可以使用Node Version Manager NVM轻松完成此操作。只需切换到您喜欢的任何版本并使用它,同时等待修复v.12。