如何限制nodejs中的max rss内存大小?

时间:2018-03-11 09:00:07

标签: node.js memory limit

我们在云服务器上运行了一个nodejs服务,只给它512MB RAM(对应用程序来说已经足够了)。

服务器的内存使用量增长缓慢。当读取512MB内存限制时,服务器会自动重启。

我已尝试通过大量负载测试来读取内存使用情况统计信息,但数字显示缓慢增长的rss memory usage,但非常稳定的低heap memory usage

我尝试了--max_old_space_size,但这只限制了堆大小,这对我来说永远不是问题。堆大小读数始终低于50MB。

有没有办法限制rss memory size

  1. 一些快速研究表明,rssheap之间的差异来自c ++代码的缓冲区大小。不确定是否可以调试那些(gdb?)。

  2. 有人说v8的限制为1.4GB,那也是堆大小限制吗?如果它有限制,也许我可以修改nodejs源代码,构建一个限制较小的特殊版本?

  3. 我已经尝试了--expose-gc并经常清理gc,但同样,只能帮助堆使用(并减慢速度)。

  4. 更新:找到原因,增加rss的使用是由于我们使用的其中一个库的c ++内存泄漏(感谢bignum)。避免使用它保持rss内存稳定。

0 个答案:

没有答案