web-dev-qa-db-ja.com

Windows7-プログラムを最小化する際のDWM.exeによるハイメモリ使用

現在64ビットのWindows7を使用していますが、このような問題は発生していません。

Radeon Sapphire HD 6850シリーズのグラフィックカードに、仮想メモリがオンに設定された4GBの物理RAMが付属しています。

DWM.exeサービスは、起動時に完全に正常に実行され、平均メモリ使用量は約30〜45MBです。 (ワーキングセットメモリ。プライベートワーキング値)ではありません

ただし、ウィンドウを最小化すると、DWM.exeは30〜45MBから約1GB相当のアクティブなメモリ使用量に急上昇します。ただし、ウィンドウがエクスプローラーウィンドウの場合は、Explorer.exeも約1 GBに急上昇し、問題のウィンドウが最小化されなくなるまで、約3.14GB相当の物理メモリを消費します。 。 (複数のウィンドウが最小化されると、ウィンドウあたり1GBの物理メモリ使用量が増加し、使用可能なRAMの量を超え、最終的にはDWM.exeが強制終了されます。)

DWM.exeが無効になっている(または手動でシャットダウンしている)場合、システムは完全に機能し、プログラムが最小化されたときにExplorer.exeが異常なメモリを使用することはありません。

DWM.exeプログラムが破損していませんか?この問題を永続的に無効にせずに修正する方法はありますか?

アプリケーションを最小化する前に:

before_minimize

アプリケーションを最小化した後:

after_minimize

これらは間違いなく正規数ではありません...明確にするために、私は外部のExplorerプログラムを使用していません。私のコンピューターにあるのは、Advanced System Care 5、Catalyst Control Center(AMD)、Skype、Chrome、Smart Defrag、およびWindows7だけです。

Catalystをアンインストールして再インストールしました(古いバージョンに戻しました)。何も変更されていません。 DWM.exeは、ワーキングセット(メモリ)部門でまだ急上昇しています。 (上の写真)

3
Jaden

ここでは再現できません。私はそのようなものを見たことがありません。ただし、ワーキングセットとプライベートワーキングセットを混同しないでください。

ワーキングセットには、同じバージョンのDLLが複数のプログラムで使用されているDLLファイルなど、プロセス間で共有されるデータが含まれています。 15 MBのデータ自体を使用し、システムによって既にロードされている50 MBのDLLに依存します。ワーキングセットには、これら両方の数値が組み合わされて表示されます。プライベートワーキングセットには、そのプロセスの実行によって実際に消費されたメモリのみが表示されます。つまり、そのプロセスを終了すると、プライベートワーキングセットメモリは常に解放されますが、他のプログラムもこれらのリソースを使用しているため、残りのワーキングセットメモリは(おそらく)解放されません。

とはいえ、Explorerとdwmの両方のプライベートワーキングセットに最大150 MBを超えるデータが表示される場合は、AMDドライバーのドライバーのバグである可能性があります。最新のものがあることを確認してください。その場合は、直前のバージョンにダウングレードしてみてください。今のところ、最新のCatalyst 12.6と直前の12.4だと思います。

これはメモリリークのように聞こえます、またはあなたは絶対に巨大な画面サイズを持っています(それぞれ2560x1600で6台のモニターまたはそのようなクレイジーなもの)。合計2720x1924の解像度(5,233,280ピクセル)のデュアルモニターシステムがあります... 1ピクセルのカラーデータが32ビット(4バイト)の場合、フレームバッファーの完全な非圧縮イメージを1つ保存するには20,933,120バイトが必要です。またはほぼ21MB。それでもdwm.exeは、13 MBのプライベートワーキングセットと35MBの合計ワーキングセットを使用しており、約12のウィンドウが開いており、アニメーションの最小化を含むすべてのエフェクトが有効になっています。

ところで、2560x1600モニターが6つある場合、フレームバッファーは1フレームで589 MBを占有します。そのため、21MBのフレームバッファーは比較的小さい13MBのプライベートワーキングセットしか消費しないため、dwmのメモリ使用量は画面サイズと一致しません。 dwm.exe-そして、その多くは、ガラス効果用のHLSLシェーダーや、さまざまなDLLライブラリなどです。また、dwmのメモリ使用量は増加しません。エクスプローラウィンドウを最小化します。

Explorer Shellの拡張機能またはカスタマイズがインストールされていますか?たぶんWindowBlinds?それを刺すだけです。ボグ標準エクスプローラーとシステムDLLを備えたボグ標準グラフィックスドライバーは、それを行うべきではありません。これは、コンピューターに何かをした後に発生し始めましたか、それとも箱から出してすぐにこのようになりましたか?

ええ。これはおそらくドライバのバグです。

1
allquixotic

組み込みのWindowsファイルの破損を確認するには、管理コマンドプロンプトを開きます(開始をクリックし、cmdと入力して、 Left Ctrl+Left Shift+Enter)。次に、sfc /scannowと入力して、Enterキーを押します。これにより、システムファイルがスキャンされ、元のバージョンであるか、少なくともWindowsUpdateからダウンロードされたパッチが適用されたバージョンと一致することが確認されます。

1
Canadian Luke