為什麼 dwm.exe 使用這麼多記憶體?

為什麼 dwm.exe 使用這麼多記憶體?

我已經在網上搜索過,但我厭倦了閱讀“掃描您的電腦是否有病毒”和“升級您的 RAM”等類似問題的答案。我知道 dwm.exe 用於(簡單地說)緩存 Aero-peek 等類似的位圖,但據我所知,它不應該使用大量內存。

我和我的同事都有 4GB 記憶體、Core 2 Duo,等等——本質上它們的功能非常強大。他的 dwm.exe 運行在大約 30mb 左右,我的目前運行在大約半 GB 左右,儘管它確實波動很大。運行完全相同的應用程式時也是如此(目前是 Zend studio、FireFox(有 firemin - 低記憶體使用量)、Outlook)。我經常會收到一條通知,詢問我是否要切換到 Aero Basic,因為它使用了太多內存,有時它會自行切換到 Basic,並讓我知道原因。

我知道可以阻止它切換,但我想知道為什麼它使用太多內存,否則它只是掩蓋裂縫。

需要補充的一件事是似乎週一發生搶劫事件後,我的兩台顯示器被盜,我不得不暫時使用幾個替代顯示器。我現在使用全新的顯示器,但問題是一樣的。所有驅動程式均已安裝且正常運作。

知道為什麼使用率如此高嗎?

我們使用的是 Windows 7 64 位元專業版。

答案1

當你有多個螢幕且系統效能設定為預設值時,該DWM.EXE進程會消耗大量內存讓 Windows 選擇最適合我的電腦的選項。要改變這一點:

  1. 電腦-> 右鍵單擊並選擇特性
  2. 選擇先進的標籤
  3. 選擇設定按鈕下的表現部分。這將彈出“效能選項”視窗
  4. 第一個選項卡上是視覺效果。選擇Adjust for best performanceCustom(然後選擇您想要的功能)。

我選擇了Custom自己,只選擇了Smooth edges of fonts運行 4 個視窗時將記憶體使用量從 534M 減少到 6M。

答案2

我用這個批次程式碼來刷新dwm程式。螢幕將出現一秒鐘的空白。這dwm程式RAM 使用率將恢復正常。

我強烈建議您在執行之前關閉所有應用程式以防止程式崩潰

@ECHO OFF 
taskkill /F /IM dwm.exe 
taskkill /F /IM conhost.exe

這必須以管理員身份執行。

答案3

由於我還不能發表評論,我會將其添加為附加答案。 Microsoft 已確認 DWM.EXE 中存在記憶體洩漏:https://support.microsoft.com/en-us/topic/system-malfunction-because-memory-leak-occurrs-in-dwm-exe-in-windows-7-or-windows-server-2008-r2- 360aef3b-8df7-d104-552b-5fdb0f0ec990

簡而言之,當狀態視窗長時間開啟時,DWM.EXE 會洩漏記憶體。

答案4

嘗試重新啟動 dwm 服務:

  1. Win+r並輸入服務.msc
  2. 尋找桌面視窗管理器會話管理器
  3. 點選重新開始服務,看看是否能解決問題。

或者,如果您想一起擺脫該過程,只需單擊停止

相關內容