過去に流出してしまったライブラリにいくつかのコードがありますが、これを避けるために回帰テストを追加したいと思います。私は、メモリー使用量プロファイルやValgrindを調べることで、手動でメモリリークを見つける方法を理解していますが、自動テストの作成には問題がありました。Nodeのメモリリークを自動的にテストする方法はありますか?
私は操作を実行した後にprocess.memoryUsage()
を使用してみましたが、リークをチェックしていましたが、繰り返しこの操作を繰り返して操作数とメモリー使用量の間に線形関係を確立しようとしましたが、メモリ使用量これを正確に測定するのが難しい数字です。
私の質問は、これは、操作がメモリをリークしたときに一貫して渡され、メモリがリークしないときに失敗するNodeにテストを書き込む有効な方法ですか?
私が言及すべき1つのしわは、C++アドオンでメモリリークが発生していて、リークされたメモリの一部がノードVMによって管理されていないためです。したがって、process.memoryUsage().rss
を測定していました。
このライブラリに関する情報をありがとうございますが、私の具体的なシナリオでは役に立たないと思います。私は、リーク(ループ内の異なるポートにバインドされたサーバーの作成と起動)となり、memwatchイベントが起きなかったと確信していたテストでそれを使用しようとしました。 – murgatroid99
Mem Watchはアプリケーションのレベルにあります。起動するすべてのサーバーには独自のmemがあります。そのインスタンスを監視すると、サーバーを生成するプロセスであるグローバルな画像に気付かれません。このようなアクションのコンテナは永遠に永遠に監視することができます。ここでは、ノードのプロセスやメモリの概要、 – sBanda