我正在Node.js,Express和MongoDB中编写一个简单的cms。我打算为每个站点运行不同的Node.js进程。问题是,启动后该过程需要大约90米的RAM,对我来说它太大了(八个站点占用所有服务器RAM)。在第一次连接到站点后获取此内存,其他连接不会影响内存。
是否有指南或“最佳做法”列表来优化此内存使用情况?我正在尝试使用process.memoryUsage()
或类似函数来跟踪内存的分配位置,但这样做并不简单。
不是内存泄漏或类似的问题,因为内存使用在第一次连接后没有增长,所以可能优化可能是加载较少的模块或做不同的事情......
答案 0 :(得分:9)
以下链接可帮助您了解和检测内存泄漏(如果存在):
Debugging memory leaks in node.js
Detecting Memory Leaks in Node.js Applications
Tracking Down Memory Leaks in Node.js
这些SO问题也可能有用:
答案 1 :(得分:0)
这是一个快速修复,一个node.js lib,它将在任何节点进程达到一定大小后重新启动它。 https://github.com/DoryZi/memory_limiter