最近、node.js アプリで何らかのメモリ リークが発生している可能性が高いことがわかりました (に示されているメモリ消費量htop
は増加の一途をたどっています)。少量のコードを別のスクリプトに分離することができましたが、これはまだメモリ リークを引き起こしているため、現在はそれを突き止めようとしています。htop
ただし、ツールとこの v8 プロファイラーによって収集されたテスト結果の分析と理解に問題があります: http://github.com/c4milo/node-webkit-agent
スクリプトの開始直後に htop に次のメモリ消費量が表示されます。
http://imageshack.us/a/img844/3151/onqk.png
その後、アプリは 5 分間実行され、30 秒ごとにヒープ スナップショットを取得しています。5分後の結果は次のとおりです。
ヒープ スナップショットのサイズ:
http://imageshack.us/a/img843/1046/3f7x.png
htop
5分後の結果:
http://imageshack.us/a/img33/5339/2nb.png
したがって、これを正しく読んでいる場合、V8 プロファイラーは重大なメモリ リークがないことをhtop
示していますが、メモリ消費量が 12MB から 56MB に増加したことを示しています! この違いがどこから来ているのか誰にもわかりますか?そして、なぜテストの開始時でさえ、htop
プロファイラーが示した 4MB に対して 12MB を示しているのでしょうか?