我搜索了网络,但我已经厌倦了在类似问题的答案中看到“扫描计算机中的病毒”和“升级您的 RAM”。我知道 dwm.exe 用于(简单地说)缓存 Aero-peek 等类似程序的位图,但据我所知,它不应该使用大量内存。
我和我的同事都有 4GB 的 RAM、Core 2 Duo 等处理器——基本上它们的性能都相当不错。他的 dwm.exe 运行速度大约为 30mb,而我的则大约为半 GB,不过两者的波动确实很大。在运行完全相同的应用程序(目前是 Zend Studio、FireFox(使用 firemin - 内存使用率低)、Outlook)时,情况也一样。时不时地,我会收到一条通知,询问我是否要切换到 Aero Basic,因为它占用了太多内存,有时它会自动切换到基本模式并告诉我原因。
我知道可以阻止它切换,但我想知道为什么它会使用太多内存,否则它只是掩盖裂缝而已。
需要补充的是似乎这个问题始于周一的一次抢劫,当时我的两台显示器被盗,我不得不暂时使用几台备用显示器。我现在正在使用全新的显示器,但问题还是一样。所有驱动程序都已安装并运行正常。
知道为什么使用率这么高吗?
我们使用的是 Windows 7 64 位专业版。
答案1
当DWM.EXE
你有多个屏幕并且系统性能设置为默认的让 Windows 选择最适合我的电脑的选项。要更改此设置:
- 去电脑-> 右击并选择特性
- 选择先进的标签
- 选择设置按钮下方表现部分。这将弹出性能选项窗口
- 第一个标签是视觉效果. 选择
Adjust for best performance
或Custom
(并选择您想要的功能)。
我Custom
自己选择了并仅选择Smooth edges of fonts
在运行 4 个窗口的情况下将内存使用量从 534M 减少到 6M。
答案2
我使用此批处理代码来刷新进程管理器。屏幕会空白一秒钟。进程管理器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-occurs-in-dwm-exe-in-windows-7-or-windows-server-2008-r2-360aef3b-8df7-d104-552b-5fdb0f0ec990
简而言之,当状态窗口长时间打开时,DWM.EXE 会泄漏内存。
答案4
尝试重新启动 dwm 服务:
- 点击Win+r并输入服务管理器。
- 寻找桌面窗口管理器会话管理器。
- 点击重新开始服务,看看是否能解决问题。
或者,如果你想彻底摆脱这个过程,只需点击停止。