mysql - Node.js 内存使用率高

标签 mysql node.js memory-leaks

我当前正在运行一个 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 使用率有任何想法吗?谢谢。

最佳答案

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

关于mysql - Node.js 内存使用率高,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33336277/

相关文章:

MySQL 复制/备用

MySQL create/select 从源表中添加字段

node.js - 使用增量函数进行序列化验证

node.js - Sequelize.js - Model.update() 不更新关联

c - 在 C 中使用自由函数时内存在 block 中损坏

sql - 为什么 MySQL 在 INSERT INTO 上拒绝字符串中的管道 ('|' ) 字符

php - MySQL : SELECT all USERS With 2 messages open and clicked after timestamp

node.js - @firebase/database : FIREBASEWARNING: Exception was thrown by user callback. 错误:发送后无法设置 header

c# - SpeechSynthesizer 中的持续内存泄漏

javascript - Aurelia 自定义元素不是在 Chrome 中收集的垃圾