5
のサイズにもかかわらず、私のメモリ使用量は時間の経過とともに忍び寄る:Node.jsのメモリリークが、一定のヒープ+ RSS私のサーバーの監視によると
稼働時間の〜4週間後、それが原因となって終わります問題/クラッシュ(EC2のm1.largeインスタンス=> 8GB RAM、RAMは約1.5GB /週で増加しているように見えるので、理にかなっています)。
node.jsアプリケーションを再起動すると、メモリ使用率がリセットされます。 しかし...私はprocess.memoryUsage()
を経由して、私のメモリ使用量を追跡するんだ、とさえ〜1週間後、私は私が何をしないのです
{"rss":"693 Mb","heapTotal":"120 Mb","heapUsed":"79 Mb"}
を見ていますか?明らかにノードのリークはノードにありますが、プロセスはそれを認識していないようです...
あなたはノードのクラスタモジュールを使用しています:
ヒープdiffはのようになりますか?おそらく、報告されたメモリ使用量は、子プロセスの1つに属しています。また、どのプロセスがps/topを使ってそのメモリをすべて使用しているかを検証しましたか?使用しているnode.jsのバージョンは何ですか? – samitny
実際のコードなしでは答えられません。しかし、https://nodetime.com/を試して、メモリリークを調べることができます。 rssサイズの高いクラスタを再起動することができます。どちらが非常に汚い解決策です。 – egiray