2017-10-12 39 views
-3

node.js 6.11.3、クラスタモジュールを使用しています。Express 4.14 メモリリークが1週間にわたってゆっくりと見えます。 添付は、chrome開発ツールのヒープダンプのスクリーンショットです。カンニングは、漏れの理由を伝えます。 click for heap dumpnode.jsクラスタでのメモリリークとエクスプレス

+0

あなたのアプリケーションなしであなたを助けるのは難しいです。それはあなたのコードから来るかもしれない、または – Bastien

答えて

0

残念ながら、アプリケーションや環境全体にアクセスすることなく、漏れがどこから来るのかは誰にも分かりません。本当の問題は、どのようにしてノードのメモリリークをデバッグするのかです。

まず、ノードでどのようにメモリリークが発生するのかを理解することが重要です。 Nodeがガベージコレクションを構築している場合、どうすれば可能ですか?まあ、変数は参照されなくなったらガベージとしてマークされます。まだ変数を参照しているコード(クロージャなど)がある場合、それらは収集されません。これは単なる一例です。また、メモリリークを引き起こす可能性のある依存関係もあり、自分のコードに問題があると思うように混乱させる可能性があります。そして、おそらくあなたは依存関係を使用する方法で行います。

ボトムラインは、このデバッグプロセスに精通して、リークにつながる問題を理解できるようにすることをお勧めします。運が良かった。ここに役立つ記事があります。

https://www.alexkras.com/simple-guide-to-finding-a-javascript-memory-leak-in-node-js/

+0

は、ヒープをキャプチャし、分析しようとしていない可能性があります。プロセスに非常に多くのメモリが保持されている理由が分かっていれば、Chromeのデベロッパーツールのスクリーンショットを見ると不思議でした。 – Raj

関連する問題