2GB RAM のコンピューターに Windows 7 をインストールしています。最近、同じタスクをすべて実行しているときにメモリが不足することが多くなり、Windows に警告が表示されるなどします。ただし、すべてのプログラムで使用される RAM の合計は 2GB 未満です。この問題を調査したところ、クリーン スタートアップ (msconfig の診断スタートアップで、必須サービスのみを実行し、ユーザー スタートアップは実行しない) でも、Windows はなぜか最初から 800 ~ 900MB の RAM を使用していることがわかりました。以下は、この問題を示すスクリーンショットです。
RamMap スクリーンショット:
Poolmon スクリーンショット:
実行開始から約 5 分後、原因不明の 500 MB のメモリ使用量の低下が見られます。何も変化がないように見えます。合計使用量は約 450 MB で、これはまだかなり高い値ですが、これは正常でしょうか。標準設定 (すべてのサービスをロードするなど) でシステムを起動すると、5 分後には約 300 MB の低下が見られます。これは、起動時に 1 GB のメモリが使用され、ユーザー プログラムによって使用されるのは約 300 MB のみであることを意味します。
いろいろ調べてみたところ、次のような原因が考えられます。
- WindowsのSuperFetchはメモリを使用してプログラムをより速くロードしますが、明示的に無効にしているのでそうではありません。
- ドライバーのメモリ リーク - 上記の poolmon スクリーンショットには大きな使用量が示されていないため、そうではないようです。確認してください。おそらく私の読み方が間違っているのでしょう。
- Windows は、何らかの理由で、このメモリを高速化のために使用していますが、これも事実ではないようです。私が読んだ限りでは、必要なときにアプリケーションにメモリを提供することになっているのに、実際には提供されていないからです。各プログラムが使用するメモリの合計が約 1.3 GB のときにメモリが不足しますが、使用されるメモリの合計はほぼ 2 GB です。
関係があるかどうかはわかりませんが、ページファイルのサイズは、初期サイズと最大サイズを明示的に 2048 MB に設定しているにもかかわらず、現在 756 MB です。十分なディスク容量があり、ページファイルのサイズが大きくなることがあります。
誰か何が起こっているのかを明確にし、これを解決する方法を教えてくれませんか?
答え1
527MB は (RAMMap 画像を参照) によって使用されdriver locked
、仮想マシン ツールによってよく使用されます。
ドライバーがロックされました:これらは、ドライバーによって物理 RAM にロックされたページです。これは、I/O のような小規模/一時的な目的、または RAM ドライブやその他の大規模なロックされたメモリ予約のような大規模/長時間の割り当てのために行うことができます。詳細については、 http://www.microsoft.com/whdc/driver/tips/mmprobe.mspx。
VM ツールを使用しない場合は、パフォーマンスを向上させるためにメモリをロックする可能性のある他のサードパーティ ドライバーを探してください。