根据 nodetime,即使 Node 应用程序重新启动,我的内存泄漏仍然存在。查看以下“操作系统 - 可用内存”图表;请注意内存是如何稳定减少的(尽管 Node 应用程序重新启动了数十次),直到我重新启动整个服务器:
这怎么可能?我从根本上误解了什么吗?我不明白一个进程中的内存泄漏如何能够继续存在并继续影响操作系统...
机器信息: 运行 CentOS 的 Amazon EC2 (m1.large)
最佳答案
一个进程中的内存泄漏(实际上已被杀死)无法做到这一点。
您是否使用第 3 方系统来提供共享状态?例如,数据库,或者像 redis 之类的用于 session 的东西?在这种情况下,重新启动您的 Node 进程只会导致重新连接到相同的共享状态并继续最初开始的任何泄漏。
关于Node.js内存泄漏导致系统丢失可用内存,即使在 Node 重启后也是如此?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13613995/