ノードのヒープにあったノード アプリケーションのメモリ リークを修正しました。Google の Profiler でそれをプロファイリングし、メモリ リークを修正することができました。
今、私のアプリはしばらくの間再び実行されており、ヒープ サイズがかなり一定であることがわかりました。もうメモリリークはありません。しかし、サーバーの空き RAM を確認すると、減少していることがわかります... ノード サーバーを再起動すると、RAM は通常の空き RAM に達しています。Node.js はヒープ外にオブジェクトやデータを保存できると聞いたことがあります。これがメモリリークの原因だと思います。
メモリを占有しているものを確認するにはどうすればよいですか? 本当に何もプロファイリングできませんか、それともできますか?
私は使用しています:
node.js: v0.8.18 および socket.io: v0.9.13
私が使用しているその他のノード モジュールには、nodetime、heapdump (ただし、これは削除されます)、jquery、crypto、request、および querystring があります。
いくつかのグラフ: