流星js应用导致卡住cpu 100%

时间:2016-06-29 19:11:44

标签: meteor

我有一个小的流星js应用程序突然它开始使用100%的CPU。我发现一些博客说可能是oplog导致cpu的高度使用,所以我已经使用它来禁用它:

    meteor add disable-oplog

但它没有改变任何东西。我在开发环境中遇到此问题(通过" meteor"命令运行应用程序)和部署环境(使用mup远程运行应用程序)。 开发环境:ubuntu 14.0 2G 64Bit meteor 1.3 node js 0.10.45。

部署环境(droplet):ubuntu 14.0 512Mb 64Bit meteor 1.3 node js 0.10.45。

已安装的软件包:

installed packages

监控过程:

enter image description here

2 个答案:

答案 0 :(得分:1)

之前我遇到过这个问题,但只是在一台服务器上运行太多生产Meteor开发环境太久了。

这是我实施的交换解决方案。 Meteor应用程序可以使用大量内存,512MB可能太少。它一直在交换,奇怪地显示为CPU峰值。一旦我提出了更好的交换配置,一切都很好。

这是在Ubuntu服务器上,我不记得它是14还是16.在Digital Ocean托管(他们默认禁用Swap,我先放置的解决方案显然很糟糕)。

这可能不太可能是你的答案,但我正在写它,因为它肯定是可能的,而且很难弄明白。

答案 1 :(得分:0)

也许你可以尝试使用CPU限制器这里是我创建的bash脚本 https://gist.github.com/cortezcristian/5ab4fdddcc573972d44873f1e97a2b88

您需要先安装cpu限制器:

 sudo apt-get install cpulimit
 ps ax | grep node | grep meteor | grep -v grep | awk '{print $1}' > /tmp/my-app.pid
 cpulimit --p $(cat /tmp/my-app.pid) --limit 77

之后,您可以使用--limit标记选择您想要的限制50/100。