7

Nodeアプリ(v 0.8.6)で発生しているメモリリークの根本的な問題を解決しようとしています。

これを理解するために、https://github.com/c4milo/node-webkit-agentを使用しています。アプリが大きいため、テストベッドでこの問題を切り分けて、大規模なアプリケーションのノイズの量を制限しました。

テストを実行してから、Chromeエージェントをプロセスにアタッチします。どの保持パスもルートオブジェクトに到達しないため、オブジェクトはクリーンアップする必要があるようです。パスの保持に欠陥があることを理解していますか?他に何か足りないものがありますか?以下のデバッグセッションのスクリーンショットをアップロードしました。これは、GCが必要であると思われるオブジェクトと、GCルートオブジェクトに戻らない保持パスを示しています。

http://imgur.com/xV9xR

4

1 に答える 1

2

この問題に対処する別の方法は、dtrace を試すことです。プロジェクトをsmartOSのような illumos ベースのディストリビューションに配置することを強くお勧めします。

また、 dtraceを使用してノード アプリケーションのメモリ リークを見つける方法について説明している記事は次のとおりです。

于 2012-11-16T16:42:37.773 に答える