Windows 7 - высокая память используется DWM.exe при минимизации программ

5983
Jaden

Я в настоящее время использую 64-битную Windows 7, я не столкнулся с такой проблемой.

У меня есть видеокарта Radeon Sapphire HD 6850 с 4 ГБ физической памяти с включенной виртуальной памятью.

Служба DWM.exe прекрасно работает при запуске и имеет среднее использование памяти около 30-45 МБ. ( Память рабочего набора. Не частное рабочее значение )

Однако после сворачивания любых окон DWM.exe увеличивается с 30-45 МБ до примерно 1 ГБ активной памяти. Однако, если окно является окном проводника, оно также увеличит размер файла explorer.exe до 1 ГБ, потребляя около 3,14 ГБ физической памяти до тех пор, пока данное окно не будет минимизировано. (Если минимизировать несколько окон, это увеличивает использование физической памяти на 1 ГБ на окно, превышая объем доступной ОЗУ и в конечном итоге просто убивая DWM.exe.)

Если DWM.exe был отключен (или вручную выключен), система работает отлично, нет проблем с использованием памяти explorer.exe, когда программы свернуты.

Программа DWM.exe повреждена? Есть ли способ решить эту проблему, не отключая ее навсегда?

Прежде чем свернуть приложение:

before_minimize

После свертывания приложения:

after_minimize

Это определенно не нормальные числа ... Чтобы уточнить, у меня нет никаких внешних программ проводника в использовании; Единственное, что на моем компьютере - это Advanced System Care 5, Catalystic Control Center (AMD), Skype, Chrome, Smart Defrag и Windows 7.

Я удалил, переустановил Catalyst (вернул его к более старой версии), ничего не изменилось. DWM.exe по-прежнему стремительно растет в отделе рабочих наборов (памяти) . (Над картинками)

3

2 ответа на вопрос

1
Horn OK Please

Cannot reproduce here. I've never seen anything like that. However, don't confuse Working Set and Private Working Set.

Working Set includes data which is shared between processes, like DLL files for which the same version of the DLL is used by multiple programs. So if your program only uses 15 MB of data itself and it depends on 50 MB of DLLs that are already loaded by the system, the Working Set shows both those figures combined; the Private Working Set only shows the memory that is actually consumed by running that process. So in other words, if you terminate that process, the Private Working Set memory always becomes freed-up, but the rest of the Working Set memory (probably) doesn't, because other programs are also using those resources.

That said, if you're seeing more than ~150MB of data in your private working set for both explorer and dwm, it is most likely a driver bug with your AMD drivers. Make sure you've got the latest ones; and if you do, try downgrading to the immediately prior version. Right now I think that's Catalyst 12.6 for the latest and 12.4 for the immediately prior.

This sounds like a memory leak, or you have an absolutely enormous screen size (6 monitors at 2560x1600 each or something crazy like that). I have a dual monitor system with a total of 2720x1924 resolution, which is 5,233,280 pixels... if the color data for one pixel is 32 bits (4 bytes), that means that storing one complete uncompressed image of my framebuffer requires 20,933,120 bytes, or almost 21 MB. Yet dwm.exe is using 13 MB of private working set, and 35 MB of total working set, with about a dozen windows open and all effects enabled, including minimize animations.

BTW, the framebuffer would occupy 589 MB for a single frame if you did have six 2560x1600 monitors, so even then your dwm memory usage is incongruous with your screen size, since my 21 MB framebuffer only eats a relatively smaller 13 MB of private working set in dwm.exe -- and I'm sure a lot of that is stuff like HLSL shaders for the glass effects and various DLL libraries and stuff. Also, my dwm memory usage doesn't increase when I minimize an explorer window.

Do you have any Explorer shell extensions or customizations installed? Maybe WindowBlinds? Just taking a stab at it. A bog standard graphics driver with a bog standard explorer and system DLLs just shouldn't do that. Did this start happening after you did something to your computer, or has it been like this out of the box?

Yeah. This is probably a driver bug.

Это интересно. У меня 3x 1920x1080 дисплеев, и у меня были проблемы с `dwm.exe`, жевавшим более 3 ГБ ОЗУ, пока Windows не убивает службу или не жалуется, и я перезагружаю ее вручную. Я посмотрю, смогу ли я соотнести это с минимизацией окон ... Darth Android 11 лет назад 0
1
Canadian Luke

To check built-in Windows files for corruption, open the Administrative Command Prompt (Click on Start, type cmd and press Left Ctrl+Left Shift+Enter). Then, type sfc /scannow and press Enter. All this will do is scan your system files and make sure they are still the original versions, or at least match the patched versions downloaded from Windows Updates

Это конечно не может повредить, но симптом пахнет для меня больше как ошибка, чем как коррупция. Большинство типов коррупции (за исключением вируса) может привести к тому, что dwm полностью потерпит крах, не выйдя из-под контроля, а будет работать должным образом. Horn OK Please 11 лет назад 0
Сканирует ли sfc / scannow только или исправляет ошибки? Pacerier 10 лет назад 0
Это исправляет то, что может. Иногда это не может решить проблему, когда я рекомендую переустановить Windows Canadian Luke 10 лет назад 0

Похожие вопросы