【问题标题】:Node.js high memory usageNode.js 高内存使用
【发布时间】:2016-01-24 23:50:21
【问题描述】:

我目前正在运行一个 node.js 服务器,它与远程 MySQL 数据库进行通信,并对各种 API 执行 web 请求。当服务器空闲时,CPU 使用率在 0-5% 之间,RAM 使用率在 300MB 左右。然而,当服务器处于负载状态时,RAM 使用率会线性上升,CPU 使用率会四处跳跃,有时甚至高达 100%。

我设置了一个快照解决方案,它会在使用 node-memwatch 检测到泄漏时拍摄堆的快照。当服务器使用 1GB、1.5GB 和 2.5GB RAM 时,我下载了 3 个不同的快照并尝试分析它们,但我不知道问题出在哪里,因为分析中的总存储量加起来似乎要低得多。

这是其中一张快照,当时服务器的内存使用量为 1107MB。

https://i.gyazo.com/e3dadeb727be3bdb4eeb833094291ebf.png

这匹配吗?据我所知,那里的对象最多只分配了 500 MB。另外,有人对我得到的疯狂 CPU 使用有任何想法吗?谢谢。

【问题讨论】:

  • 它是关于代码如何有效的,没有人可以在没有看到代码的情况下预测它。因为它有很多原因可以像您解释的那样起作用。您可以与我们分享代码的一部分吗?或者你可以向我提出要求:hackhands.com/num8er我会找到问题的。

标签: mysql node.js memory-leaks


【解决方案1】:

您需要更好的工具来正确诊断泄漏,看起来您可以使用 N|Solid https://nodesource.com/products/nsolid 获得一些帮助,它将帮助您可视化和监控您的应用程序,可在开发环境中免费使用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-05-05
    • 1970-01-01
    • 2020-09-12
    • 1970-01-01
    • 2011-06-13
    • 2015-08-28
    • 1970-01-01
    • 2011-11-06
    相关资源
    最近更新 更多