web-dev-qa-db-ja.com

8GBのWindows764ビットで「メモリ不足エラー」が発生するRAM

8GBのRAMを搭載したWindows764ビットを実行している新しいDellノートパソコンがあります。システムを一晩実行したままにすると、翌日、メモリ不足エラーが発生し始めます。タスクマネージャーを見ると、6.27GBが使用されていることがわかりますが、プロセスリストを見ると、合計はそれほど多くは示されていません。すべてのユーザーからのすべてのプロセスを表示しています。

また、Process Explorerでプロセスを調べたところ、同じ結果が得られました。

リソースモニターを使用すると、4165MBが使用され、2328MBが変更され、1352MBがスタンバイ状態で、約345MBの空き容量しかありません。これらの数値は、私が実行している数値(Visual Studio 2010とIE8セッションの数)を合計していないようです。

私はWindowsで同じアプリのセットを実行しましたXP SP2 32ビット、4GBのメモリで、この種の問題は発生していません。

変更されたメモリとは何ですか?スタンバイメモリとは何ですか?

問題の可能性とその修正方法に関する提案はありますか?

7
John S

Process Explorerを使用している場合は、カーネルメモリを確認してください。nvidiaグラフィックドライバがクラッシュすると、約2GBのメモリがそこにリークします。

Process Explorerでページングリストを表示している場合、次のように分類されます。ゼロ-これらのページは未使用であり、ゼロで上書きされています。無料-これらのページはまったく割り当てられていません。変更済み-アプリケーションがこのページを変更したため、置き換える前にディスクに書き込む必要があります。 ModifiedNoWrite-アプリケーションがこのページを変更しましたが、置き換える前に書き戻す必要はありません。スタンバイ-これらのページは最近使用されていました。それらが必要な場合は、別のアプリケーションに再割り当てできます。以下の優先度レベルは、Windowsがページが再び必要になると考える可能性を示しています。アプリケーションが1秒に1回ページを使用する場合、Windowsがそのページを別のアプリケーションに再割り当てする場合、1秒ごとにページを再割り当てする必要があるため、20分前にバックグラウンドで使用されたページがある場合はあまり役に立ちません。アプリケーションであり、2つのアプリケーション間で毎秒同じページを前後に移動する代わりに再割り当てできるため、使用されていません。 「使用可能な」メモリは、Zeroed + Free + Modified + ModifiedNoWrite + Standbyです。

修正に関しては、メモリがクラッシュまたはリークしているドライバの場合は、この問題が発生していない新しいバージョンまたは古いバージョンにドライバを交換するだけです。残念ながら、各ドライバーに割り当てられているメモリの量を確認する方法がわかりませんが、150のプロセスと50000のハンドルが開いているハイエンドシステムでは(Steam、WoW、複数のエディター、google chrome 40タブ付き)、約500 MBのページ付き物理カーネルメモリ、500 MBのページ仮想カーネルメモリ、および150 MBの非ページカーネルメモリを使用しています。メモリの問題について不平を言っているときにギガバイト単位でオフになっている場合は、ドライバーがどこかで誤動作しています。残りのメモリはプロセスリストで説明する必要があります。

5
Darth Android

この問題は、Dellラップトップに標準でインストールされているBroadcomWLANトレイアプリであるBCMWLTRY.exeが原因で発生していました。

タスクマネージャーの下を見て、ハンドルとページフォールトを見ると、それらは非常に大きな数でした。 BCMWLTRYプロセスを強制終了すると、メモリの問題はすべて解決されました。プロセスは自動的に再起動するため、アンインストールまたは更新する必要があります。

悪いバージョンは5.60.18.8で、これを5.60.48.35に置き換えました。再起動後、それが有効な修正であるかどうかをお知らせします。

==> v5.60.48.35にも同じ問題があります。C:\ ProgramFiles\Dell\DW WLANカードでBCMWLTRY.exeの名前を変更できるため、それ自体を再起動することはできません

8
John S

Windowsの「メモリ不足」または「メモリ不足」の警告は、物理メモリまたはRAMに関するものではないことを理解することが重要です。それらは仮想アドレス空間、より正確にはコミット制限に関するものです。これで、コミットされた仮想アドレス空間を大量に割り当てて参照するプログラムでも、ワーキングセットが肥大化することになります(物理RAM割り当て))が、ポップアップ警告の内容ではありません。 。

ちなみに、スタンバイがたくさんある場合は、物理メモリが不足しているわけではありません。スタンバイは「利用可能」の一部です。

編集-追加:私のはるかに長い答え ここ これをより完全に説明しています。

0
Jamie Hanrahan