タスクマネージャが正しくレポートしていないように見える場合、どのようにしてメモリ関連の問題を診断/発見しますか?
メモリリークか何かがあるに違いありません — 12GBのメモリを75%使用していますが、タスクマネージャーのプロセスのメモリ使用量のリストが加算されていません(はい、”すべてのユーザーからのプロセスを表示 “がチェックされています)
この「幻の」メモリ使用量は、システムが起動してからどれくらいの時間が経過したかに応じて増加しているようです。これを見ると、合計118のプロセスがあることがわかります。上位5つのプロセスの他に、すべて50MB以下のプロセスがあります
トッププロセスはfirefoxで2.6GB使用。Adobe Premiereが900MB。プラグインコンテナが300MB。Pale Moon(275 MB)。Explorer.exe、94 MB
一体どうやって残りのメモリを使い切っているものを見つけることができますか?タスクマネージャーは、使用されているすべてのものを見ているわけではないようです。もしかしたら、何かのメモリリークがあるのかもしれません。あるいは、プログラムが使用済みメモリを適切に解放していないのかもしれません
リソースモニターのレポート(クリックすると拡大表示されます)
NOTE:
- メインのOSドライブがSSDなので、私のシステムではSuperFetchは無効になっています
- そして、未使用の RAM はいわば「無駄な」 RAM であるという原則は理解しています。しかし、自分のメモリ使用量がほぼピーク容量まで使われているのを見ると、後続のプログラムを実行/ロードするのを止めてしまい(自分自身の懸念から)、多くのプログラムを終了させるためにタスクを送ることさえある(メモリ使用量を減らす効果はほとんどなく、少なくとも目立った効果はなく、短期間である)
- メモリがいっぱいになると、SSD の 1GB のページファイルが、設定した 6GB の制限まで拡張され、Windows が本格的なメモリスティックとして使用するようになったときに、私の「かわいそうな」SSD が粉塵に落とされそうな知識で「汗」をかいているのを見るのが嫌になります。(そういえば、ページファイルをハードキャップして静的な1GBにした方がいいのかな?)
67 Coldblackice 2012-06-17
通常、RamMapのようなツールを使用して、メモリを使い切っているものについてより良い洞察を得ることができます
多くの場合、パフォーマンスを向上させるためにRAMに引き込まれたメモリマップされたファイルによってメモリを使い切ることができます
RamMap の Active 列に注目してください。これは、現在実際に使用されているメモリです。空きメモリに関するインジケータは、しばしば誤解を招く可能性があります。これには、タスクマネージャーのようなWindowsツールも含まれます
Further information
また、ご質問の中からいくつかの追加点を挙げておきたいと思いました
しかし、自分のメモリ使用量がほぼピーク容量まで使われているのを見ると、後続のプログラムを実行/ロードするのを止められてしまい(自分自身の懸念から)、多くのプログラムを終了させるためのタスクにまで送られてしまう(メモリ使用量を減らす効果はほとんどなく、少なくとも目立った効果はなく、短期間で)
あなたの推論は全く問題ありません。しかし、メモリ不足のために問題が発生している場合を除き、この方法は控えるべきです。物理メモリが必要な場合は、オペレーティングシステムがこのタスクを処理し、ページングファイルにデータをフラッシュアウトするべきです
おそらく、あなたはまた、あなたの練習のために間違った指標を使用しています。あなたは、あなたのコミットチャージ(プロセスエクスプローラーの用語)に目を向けたいと思います
コミットチャージは使用したメモリの合計です。スクリーンショットを見ればわかると思いますが、これにも制限があります。その制限とは、私の物理メモリのサイズ+ページングファイルのサイズです。もし、その制限に当たってしまったら問題です
次の話題に移ります
メモリがいっぱいになると、SSD の 1GB のページファイルが、設定した 6GB の制限まで拡張され、Windows が本格的なメモリスティックとして使用するようになったときに、私の「かわいそうな」SSD が粉塵に落とされそうな知識で「汗」をかいているのを見るのが嫌になります。(そういえば、ページファイルをハードキャップして1GBにした方がいいのかな?)
私の考えでは、ここにはいくつかの間違った点があります。一般的に、ページングファイルのサイズに制限を設けることは強くお勧めできません。Mark Russinovich氏は、上にリンクしたビデオでこのことを説明しています(私ができるよりもはるかに優れています)
そこからは悪いことしか起きません。Windowsは、ページングファイルに6GB以上のデータをフラッシュアウトする必要があるのに、それを6GBに制限した場合、どうすればいいのでしょうか?それは大きな問題です
ページングファイルの処理は Windows に任せてください。私が強くお勧めする唯一のことは、ページング ファイルを SSD から遠ざけることです。Tom Wijsman は、Maximizing the lifetime of your SSDという彼のブログ記事の中で、これを見事に説明しています
61 Der Hochstapler 2012-06-17
私の場合、メモリ使用量が多い原因は、RAMのダイナミックメモリの設定を有効にしているhyper-v仮想マシンでした
RamMap ツールのおかげで、根本的な原因を突き止めることができました
まず、RamMap
で気がついたのですが、Driver Lockが29GB
よりも32GB
のRAMを消費していることに気がつきました。その後、HyperV
ダイナミックメモリが有効になっていることで、Driver Lockedのメモリ使用量が多くなることを説明している記事を見つけたので、確認してみました
2 Dragan Nikolic 2018-03-09
RAMMapを見ると、C:\Windows\SoftwareDistribution\DataStore\DataStore.edb
のマップされたファイルが私の貴重な4Gb RAMの400Mbを無駄にしていることがわかりました
また、その巨大なファイルを更新する過程で、Windows Updateは常にシステムを遅くしていました
それは、多くの低価格PCに共通する問題かもしれません
PC Boots が巨大な datastore.edb ファイルを書き込み、コンピュータの動作を遅くしています
1 Vadzim 2015-02-19
スナップがすべてのプロセスを表示しておらず、表示されているプロセス自体が 5.8 GB のメモリを消費しているのを見ると、表示されているスナップから、多くの不要なバックグラウンドプログラムが実行されていることがわかります。msconfigを使用して不要な起動プログラムを削除し、また、あなたの仮想メモリ(物理メモリの1.5倍)を増加させます
0 tiki 2012-06-17
SysinternalのRAMMAPを試すことができますが、Task Manager & Resource Managerとは異なる方法でメモリ使用量を表示するため、あまり参考になりません
タスクマネージャー & リソースモニターでは、ファイルキャッシュとそのサイズが表示されません。ファイルキャッシュはメモリの「使用中」の一部です (リソースモニタを参照)。ファイルキャッシュは、特に何時間もコンピュータを動かし続けると、非常に大きなサイズになることがあります。全体的なプログラムのメモリ使用量は、ファイルキャッシュの増大とメモリリークの結果として、時間が経つにつれて増加します。いくつかのプログラムは、単にお粗末なメモリ管理をしています
メモリ使用量を最小限に抑える方法の一つとして、プロセスの数を減らすことが挙げられます。(なぜ118のプロセスが実行されているのか?Explorer.exeのインスタンスが複数実行されているのはなぜですか?)
定期的にメモリ使用量を減らすのに役立つプログラムがあります & 定期的にファイルキャッシュを崩します。PcWinTechのCLEANMEM)。この方法でメモリ使用量を減らすことで、Windowsがメモリからスワップファイル(SSD上)にデータを書き込む必要性を減らすか、あるいは排除することができます。そのため、SSDの寿命を延ばすことができます。また、メモリ使用量を減らすことで、より多くの「スタンバイ」メモリを利用できるようになり、Windows がスタンバイメモリにより多くのファイルをプリロードして、システムを高速化することができます
0 Willy2 2014-05-04