稼働時間の数日ごとに、私のPCのメモリ使用量は、明確な理由なしに増加します。次に、4日間の稼働後の一般的なメモリ使用量の測定値を示します。
ただし、潜在的なメモリリークの原因となっている問題のあるアプリケーションを追跡しようとしました。タスクマネージャーは、Googleからの最高のアプリ使用量をリストしますChrome(使用量は〜200MBのみ)):
他のアプリを閉じても、62%は不思議なことに使用中のままです。
一方、poolmon.exe
は、ページプールと非ページプールでそれぞれ大量のメモリを使用してCM16
タグとProc
タグがリストされていることを示しています。
奇妙なことに、PCを再起動するとメモリ使用量はクリアされますが、シャットダウンして起動するとクリアされません。これは「高速起動」機能によるものだと思いますが、メモリ使用量に影響を与える理由はわかりません。
それが問題である場合、私は CleanMem も使用しています。これは、メモリリークの問題を軽減するのに役立つと想定したためです。
これらを考慮して、システムでメモリ使用率が高くなっている原因を特定するにはどうすればよいですか?
更新:コメントで示唆されているように、プールタグのスタックトレースを表示するためにxperfを実行しようとしましたが、見つけたものをどうするかわかりません:
[〜#〜] update [〜#〜]: これは上のスクリーンショットのETLファイルです
CleanMemについてのページから:
「メモリはページファイルではなくシステムキャッシュにプッシュされます。システムキャッシュはまだメモリ内にあります。プログラムは必要なものを即座にコールバックできます。」
別名、「CleanMem」を実行すると、キャッシュがシステムの背後にあるメモリを隠すだけなので、使用されているのがわかりません。
一般に、Windowsのあらゆる種類の「メモリ管理」ツールは悪い考えです。
どうして?特にWindows 10のように複雑なOSでは、「Tweak」を使用してより多くのメモリを取得しようとすると、おそらく既存のメモリ管理アルゴリズムが混乱するだけです。 Windowsには、非常に高度な組み込みのメモリ管理、圧縮、キャッシュ、および予測機能があります。それを台無しにしないでください。メモリを解放する必要がありますか? Chromeの代わりにFirefoxを使用します。
また、SysInternalsSuiteツールprocexp.exeも確認してください。 xperfよりも読みやすくなっています。
メモリを使用して表示されない別のプロセスは、Hyper-Vがインストールされていて、その中で仮想マシンを実行している場合です。