多くの人々は、Microsoftのホワイトペーパーなどを読むことで、Windowsメモリマネージャーのキャッシュのしくみについて教育を受けています。しかし、非常に大規模な/増大するマップファイルとスタンバイリストに関連する実際のパフォーマンスの問題(停滞)を説明するドキュメントは比較的少数です。
サーバーとして機能するWin7 64ビット(8Gb RAM)PCを持っています。これ以上メモリを追加できません。 TVチューナーが多数あり、同時に複数の巨大なmpeg2ファイル(少なくとも3〜8 GB)をHDDに24時間365日記録/書き込みします。私のPCがテレビ番組を録画している忙しさに応じて、1〜3日後にPCの動作が遅くなります。
Windowsタスクマネージャを見るだけでは、大きなアプリケーションをあまり開いていないようです。そして、たくさんの「利用可能なメモリ」。アクティブなプロセスをすべて閉じても、PCの動作が遅くなります。ただし、RamMapを使用すると、これらの大きなmpeg2ファイルがアクティブスタンバイリストのマップファイルになることがわかります。時間の経過とともに私のPCは非常に遅くなります。 RamMapで[スタンバイリストを空にする]を選択すると、すぐにPCの応答が非常に速くなります。再起動したかのように。停滞に対処するために私ができることは他にありません。実際、スタンバイリストを空にするか再起動しない限り、PCはこの低迷から回復することはありません。
コマンドラインユーティリティのEmptyStandbyList.exeを使用しています。RamMapのGUIでスタンバイリストを削除する代わりに、静かにスタンバイリストを削除します。ただし、残念なことに、スタンバイリスト内に留まるためにパフォーマンスの目的で非常に役立つスタンバイリスト内の小さな項目も削除されます。
Googleで検索していると、私とほぼ同じ問題を抱えている人が見つかりました。しかし、彼らの質問のほとんどは答えられていません。これがなぜ起こるのかについての実際の説明はありません。そして、「空のスタンバイリスト」技術以外の問題を修正する決定的な方法はありません。
私は「ダイナミックキャッシュ」と呼ばれるMSユーティリティ/サービスの言及を見てきました。しかし、それが私が望むものを明確に治すかどうかはわかりません。また、Win7/Win2008 R2バージョンは、MSサポート経由でのみ利用できるようです。 「最小/最大NTキャッシュ制限」を設定するユーティリティもいくつか見ました。しかし、それらはスタンバイリストではなく、プロセスのワーキングセットに固有であるように見えます。
スタンバイリスト全体を定期的に残酷に空にする必要はなく、すぐに考えられる人が私にとってより優雅な治療法を考えてくれることを望んでいます。そして、うまくいけば、私(および他の人々)が見ている症状についての明確な説明があります。私が「すぐに使える」と述べた理由は、マッピングされたファイルとスタンバイリストの優先順位が紙で「どうあるべきか」を説明したい人がすでにたくさんいるためです。これは私にはあまり役に立ちません。
スタンバイリストはSuperfetchキャッシュであり、「ダイナミックキャッシュ」は別の問題を修正します。このサービスは、NTFSメタデータキャッシュが高すぎる問題を修正します。しかしStadnbylistとこのキャッシュは2つの異なるものです。 NTFSキャッシュは使用済みメモリとして表示されますが、スタンバイキャッシュにはデータが含まれていますが、そのメモリを本当に新しくしてデータを格納すると、非常に高速に空にできます。
Sysinternalsフォーラムで、Process Hackerの作成者であるユーザーwj32が、必要なことを行うコマンドラインツールを作成しました。
http://forum.sysinternals.com/rammap-empty-standby-list_topic27297_post132769.html#132769
それがあなたの問題を「修正する」ならばそれを試してください。
遅いのは、WindowsがSwapドライブからデータをロード/保存することを強制しているためである可能性があります。すべてのビデオがテープに記録されると、スタンバイリストが大きくなり、他の(バックグラウンド)プログラムがSwapドライブにプッシュされるようになります。マシンの速度を下げます。
このPCがテレビ番組のテーピングにのみ使用されている場合、解決策は、スワップドライブをWindowsで設定できる限り小さくすることです。スワップドライブを完全にオフにしないでください。Windowsが秘密裏にスワップドライブを作成します。
RAMからデータを読み取っているだけでWindowsが遅くなり、ディスクから新しいプログラムが読み込まれないとは想像できません。
MSドキュメントからのQoute http://download.Microsoft.com/download/7/E/7/7E7662CF-CBEA-470B-A97E-CE7CE0D98DC2/MemorySizingGuidanceWin7.docx :
"Windows 7 SuperFetch™はメモリマネージャーと連携して、スタンバイリストのページに優先順位を設定します。最近スタンバイリストに配置されたページは高い優先順位で始まり、時間とともに徐々に減少します。
システムのメモリが少なすぎてワークロードを処理できない場合、スタンバイリストのページのごく一部のみが優先度が低くなります。さまざまな優先度でページ数を監視することにより、インストールされているRAMの量を増やすことでシステムにメリットがあるかどうかを判断できます。 "
全体として、目標は、システムがメモリ内の最近参照されたページを維持でき、メモリの即時のニーズを満たすのに十分な使用可能メモリを確保できるようにすることです。 "
おそらくTV録画プログラムも実行され、停止しないため、スタンバイリストに移動するすべてのページが最も優先度が高いとマークされており、通常はWindowsを高速化します。しかし、メモリが少なくなったときや、WindowsがSwapドライブをひそかに使い始めることができないSwapファイルがなくなったときに、何かが解放されると考えるかもしれません。これは、スタンバイリストのデータがスワップドライブにロードされないことを前提としています。