我目前正在运行一个与远程MySQL数据库通信的node.js服务器,以及对各种API执行webrequests。当服务器空闲时,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使用情况有任何想法吗?感谢。
答案 0 :(得分:0)
您需要的是更好的工具来正确诊断泄漏,看起来您可以使用N | Solid https://nodesource.com/products/nsolid获得一些帮助,它将帮助您可视化和监控您的应用,可以在开发中免费使用环境。