在Node.js中堆稳定时,RSS内存增加

时间:2017-06-30 06:28:30

标签: node.js memory

我有一个node.js应用程序支持使用通信内部服务器API进行React服务器呈现。 BTW,应用程序的RSS内存逐渐增加。

我已经进行了5天的故障排除,并且已经检查了堆转储的比较。但堆很稳定。只有RSS在增加。

2017-06-29 09:10:00 083: memoryUsage { rss: 107597824, heapTotal: 78532608, heapUsed: 68423584 }
2017-06-29 09:10:00 212: memoryUsage { rss: 107163648, heapTotal: 78532608, heapUsed: 67970768 }
2017-06-29 09:10:00 377: memoryUsage { rss: 106213376, heapTotal: 77484032, heapUsed: 67166800 }
2017-06-29 09:10:00 448: memoryUsage { rss: 106184704, heapTotal: 78532608, heapUsed: 62869512 }
....
....
2017-06-30 15:25:00 144: memoryUsage { rss: 140972032, heapTotal: 78532608, heapUsed: 65703576 }
2017-06-30 15:25:00 379: memoryUsage { rss: 135626752, heapTotal: 74338304, heapUsed: 64624224 }
2017-06-30 15:25:00 396: memoryUsage { rss: 139800576, heapTotal: 78532608, heapUsed: 66888688 }
2017-06-30 15:25:00 699: memoryUsage { rss: 140886016, heapTotal: 77484032, heapUsed: 67736488 }
2017-06-30 15:25:00 926: memoryUsage { rss: 142073856, heapTotal: 78532608, heapUsed: 67849096 }

起初,我认为它会导致许多客户端请求。然而,今天,我在短期内遇到了巨大的流量。顺便说一下,R​​SS内存并没有像流量那样增加。这很奇怪。

我真的想解决这个问题。我该怎么做以及做得更多?

Node.js version: 6.9.4
OS: RHEL 6.8

内存使用情况 enter image description here

网络输入 enter image description here

1 个答案:

答案 0 :(得分:0)

如果您使用keepAlive发出http请求并超时,请尝试更新的节点。内存泄漏影响了v6.8和v6.9,修复于6.10(见https://github.com/nodejs/node/pull/9440

编辑:实际上,如果我没记错,那也会影响heapUsed,而不仅仅是rss。

你可以泄漏缓冲区吗?缓冲区不在堆上,但会增加rss。