【发布时间】:2018-01-14 21:01:46
【问题描述】:
我刚刚在 DigitalOcean 上启动了两个 Express 服务器以及一个 mongodb 实例。我正在使用 PM2 让它们都运行。
当我使用 htop 查看内存使用情况时,总使用量通常在 220-235mb 左右(总共 488mb)。我唯一能看到的变化是我认为是缓冲内存的蓝条,实际使用的绿色内存似乎总是差不多。
然而,我查看 DO 的图表,在过去 24 小时内,内存图表一直在缓慢上升,例如每小时总量的 0.5%,有时它会下降,但总体而言它在上升,目前它一直在徘徊大约 60-65% 的总内存持续几个小时。
这些节点 Web 服务器上几乎没有流量,但内存一直在缓慢增加。所以我的问题是,这可能是我的一台服务器中的内存泄漏,还是 v8 引擎的本质是逐步扩展其内存?
【问题讨论】:
-
我知道这是一篇旧帖子,但是你有没有在你的应用程序中发现真正的内存泄漏?还是 PM2 是问题的一部分?我正在使用 PM2 管理一组分叉应用程序(运行单个节点应用程序代码库),我可以看到内存增长如此缓慢......似乎有一些一般的“清理”,但总体而言它稳步增长。如果它真的很高,我正在使用 PM2 内存阈值自动/优雅地重新启动。我可能只是收集更多的事实,让它运行一个月,看看它有多高。
-
@tamak - 我的回复有点晚了,但它每天都在上升,然后又下降了。它一直这样做,所以我认为这只是垃圾收集。它从未崩溃!
标签: node.js express memory-leaks v8 digital-ocean