Nodejs应用程序过载CPU
Posted
技术标签:
【中文标题】Nodejs应用程序过载CPU【英文标题】:Nodejs application overloading CPU 【发布时间】:2018-02-25 11:33:23 【问题描述】:由于我在远程 Ubuntu 16.04 LTS 虚拟机中运行的 nodejs 应用程序,我面临 CPU 过载问题。我正在使用 PM2 将我的 nodejs 应用程序安排为服务。
最初启动 nodejs 应用程序时,CPU 负载仍然很低;最多30%左右。然后慢慢地我发现 CPU 负载上升到 100%。这个 nodejs 应用程序正在轮询股票网站以获取有关股票的新信息,然后进行一些计算,然后在 5 分钟后重复。我不明白它是如何导致 CPU 过载的。
我注意到我的 1 个 nodejs 应用程序在 HTOP 命令中显示为 6 个不同的进程。不确定这是否正常或如何解决。任何帮助将不胜感激。
谢谢
问候,
阿迪尔
【问题讨论】:
“ps -ef | grep node”会提供额外的信息。第一个猜测是 Guardian.js 永远不会结束,你每 5 分钟开始一个新的。 “guardian.js”的副本会有所帮助。 根据 HTOP 的说法,一小时后主进程使用了 20 分钟的 CPU。这还不错,一点也不差。 【参考方案1】:谢谢,杰拉德。您的回复帮助解决了问题。原来 Guardian.js 没有退出,只是打开了新进程,直到系统过载。
【讨论】:
以上是关于Nodejs应用程序过载CPU的主要内容,如果未能解决你的问题,请参考以下文章
如何配置服务结构负载均衡器以停止对 CPU 过载节点的请求?