【问题标题】:Nodejs High CPU usageNodejs 高 CPU 使用率
【发布时间】:2014-07-16 13:48:03
【问题描述】:

我正在尝试确定为什么我的 nodejs 服务器具有极高的 CPU 使用率。运行 top 时,我可以看到单个用户的 node 的 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 时间?

【问题讨论】:

  • b77b7000-b77b8000 对我来说就像一个内存块...?
  • @Andy JavaScript != Java;那个网址也指向一个中文博客/论坛?
  • @Diamondo25 它可能是。不过,我不确定如何处理这些信息。
  • 您是否尝试过使用 node-webkit-agent 之类的工具进行 CPU 分析?
  • 我知道,Diamondo25,但它是b77b7000 唯一可在 Google 上搜索的结果,我认为它可能有一些相关性。

标签: javascript node.js


【解决方案1】:

物理内存使用情况如何???正常吗??

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

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

【讨论】:

  • 内存使用量为 64mb。所以我会说它看起来很正常。页面加载也在 700 毫秒内完成。
【解决方案2】:

你可以使用分析器逐个检查堆栈函数的性能。在我的选择中,Chrome 是最好的。 Here是一个关于如何与nodejs一起使用的教程

将调试控制台连接到 Chrome 调试器后,您可以使用性能选项卡记录检查配置文件

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-09
    • 2014-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多