Nodejs高CPU使用率

时间:2014-05-27 15:09:48

标签: javascript node.js

我试图确定为什么我的nodejs服务器具有极高的CPU使用率。当运行top时,我可以看到节点的CPU使用率可以达到单个用户的60%。我使用node-tick来分析我的应用程序,但我似乎无法很好地理解结果以找到问题的根源。

我正在使用:

socket.io
mongodb
jade-templating
express

结果如下:

 [Shared libraries]:
   ticks  total  nonlib   name 
  31273   88.5%    0.0%  b77b7000-b77b8000
   2144    6.1%    0.0%  /usr/local/bin/node
    269    0.8%    0.0%  /lib/i386-linux-gnu/libc-2.15.so
     45    0.1%    0.0%  /lib/i386-linux-gnu/libpthread-2.15.so
     13    0.0%    0.0%  2cd46000-2cd47000
     11    0.0%    0.0%  /usr/lib/i386-linux-gnu/libstdc++.so.6.0.16
      2    0.0%    0.0%  /lib/i386-linux-gnu/librt-2.15.so

我似乎无法找到这个" b77b7000-b77b8000"和谷歌没有产生很多结果。

任何人都可以确定导致我的node.js使用这么多CPU时间的原因吗?

2 个答案:

答案 0 :(得分:0)

物理内存使用情况怎么样?这是正常的吗?

我遇到了同样的问题。就我而言,CPU和物理内存使用量很高。我试图将大量数据批量插入mongo db。

我从代码中删除了for循环。然后我发现CPU和内存使用量发生了巨大变化。他们降低到正常率。 For循环增加了RAM和CPU使用率。它继续增长。像这样,你的代码中是否有任何使用大量内存和cpu的内容?

答案 1 :(得分:0)

Yo可以使用分析器来检查功能的堆栈功能。在我的选项中,Chrome是最好的。 Here是关于如何将其与nodejs一起使用的教程

将调试控制台连接到Chrome调试器后,您可以使用性能标签记录要检查的配置文件here is a screenshot