最近、私は で最初のプロジェクトを開始しましたが、node.js
間違いなく気に入っています。すべてのモジュールで非常に強力です。ただし、約 1 時間後にサーバーがクラッシュする原因となる「わずかな」メモリ リークが発生しているようです (99 ~ 100% の CPU 使用率)。私はしばらくの間、この問題を解決しようとしてきました。
幸いなことに、少し検索したところ、 という人気のあるツールが見つかりましたmemwatch
。もちろん、モジュールをインストールし、サーバーのプロセスのメモリ使用量/ストレージのログを記録し始めました。
最終的に、ログを調べたところ、考えられる原因が見つかりました。
{
"what": "String",
"size_bytes": 9421368,
"size": "8.98 mb",
"+": 16635,
"-": 533
}
もちろん、30 秒以内に、この小さなバガーは 9MB の増加に成功しました (非常に珍しいことです)。これは、私のメモリ リークのタイプが であるように思われることを知るのは素晴らしいことですstring
が、ここからどこへ行くのでしょうか? より正確な結果を得る方法はありますか?
私は自分のコードを調べましたが、string
このように成長する可能性のあるコードは実際にはありません。この文字列が実際には私のコードの一部ではなく、ノードまたは Socket.IO モジュールの一部である可能性はありますか?