Почему dwm.exe использует так много памяти?


25

Я искал в Интернете, но мне надоело читать «проверять компьютер на наличие вирусов» и «обновлять свою оперативную память» в ответах на подобные вопросы. Я понимаю, что dwm.exe предназначен для (проще говоря) кэширования растровых изображений для таких вещей, как Aero-peek и тому подобное, но, насколько я читал, он не должен использовать большие объемы памяти.

У меня и моего коллеги есть 4 ГБ оперативной памяти, Core 2 Duo, бла, бла - по сути, они довольно способные. Его dwm.exe работает около 30 Мб, мой в настоящее время работает около половины гигабайта, хотя колеблется довольно сильно. Это то же самое при запуске точно таких же приложений (в настоящее время Zend studio, FireFox (с firemin - низкое использование памяти), Outlook). Время от времени я получаю уведомление, спрашивающее, хочу ли я переключиться на Aero Basic, потому что он использует слишком много памяти, а иногда он просто переключается на основной и дает мне знать, почему.

Я знаю, что это возможно, чтобы остановить его переключение, но я хочу знать, почему он использует слишком много памяти, иначе он просто покрывает трещины.

Одна вещь , чтобы добавить это , кажется , началась после ограбления в понедельник, где были украдены два из моих мониторов, и мне пришлось временно использовать несколько альтернативных мониторов. Я сейчас использую новые мониторы, но проблема та же. Все драйверы установлены и работают вроде бы нормально.

Любые идеи, почему использование так высоко?

Мы используем Windows 7 64-битной версии Professional.


Можете ли вы получить какие-либо подсказки от Proccess Monitor?
jmreicha

Какую информацию вы бы посчитали подсказкой в ​​Process Monitor? Извините, не очень много использовал.
Леонард Чаллис

1
Вы можете углубиться в процессы и посмотреть, что, если какие-либо другие процессы, с которыми он разговаривает.
jmreicha

dwm.exe на самом деле не отображается в procmon ...?
Леонард Чаллис

Да, ProcMon может быть немного волосатым. Как насчет инструмента sysinternals Process Explorer? Можете ли вы найти какие-либо подсказки с этим, может быть?
jmreicha

Ответы:


24

DWM.EXEПроцесс будет потреблять много памяти , когда у вас есть несколько экранов и производительность системы устанавливаются в значение по умолчанию Пусть Windows , выбрать то , что лучше для моего компьютера . Чтобы изменить это:

  1. Перейти к компьютеру -> щелкните правой кнопкой мыши и выберите Свойства
  2. Выберите вкладку « Дополнительно »
  3. Нажмите кнопку « Настройки» в разделе « Производительность ». Откроется окно «Параметры производительности».
  4. На первой вкладке находится Визуальные эффекты . Выберите Adjust for best performanceили Custom(и выберите нужные вам функции).

Я выбрал Customсебя и выбрал только, Smooth edges of fontsчтобы уменьшить использование памяти с 534M до 6M с запущенными 4 окнами.


2
Что ж, если вы не включите DWM, он, конечно, не будет использовать память;)
Joey

1
Это не весь ответ. У меня лучший внешний вид, установленный в настройках, и dwm.exe обычно занимает 80-100 МБ памяти, но недавно он начал время от времени всплывать до 1300 МБ ОЗУ. Если я прекращаю процесс, он автоматически перезапускается с обычными 80 МБ (и стиль Aero немедленно применяется снова, так что перезапуск не убивает визуальные эффекты).
Фиолетовый Жираф

1
Спасибо, это сделало мой компьютер намного быстрее, особенно в Eclipse. Обратите внимание, что он отключает «Aero» и эффекты прозрачного окна и т. Д.
pjc50

Сначала я попробовал подсказку из computerhope.com/issues/ch001182.htm, чтобы переключиться с (по умолчанию?) Стиля Aero на базовую тему Win - и это привело к снижению использования (но для меня этого недостаточно). Затем я попытался это исправить, и это, похоже, действительно помогло.
Ларс Нордин

@ pjc50 Я недавно начал использовать Eclipse и заметил, что dwm.exe занимает намного больше памяти, чем обычно. Может быть, Eclipse плохо работает с Aero?
Николас Пикеринг

6

Поскольку я пока не могу комментировать, я добавлю это как дополнительный ответ. Microsoft подтвердила утечку памяти в DWM.EXE: https://support.microsoft.com/en-us/kb/3078667

Короче говоря, DWM.EXE теряет память, когда окна состояния открыты в течение длительного времени.


1

Попробуйте перезапустить сервис dwm:

  1. Нажмите Win+ rи введите services.msc .
  2. Найти Диспетчер окон рабочего стола .
  3. Нажмите Перезапустить службу и посмотрите, исправит ли это.

Или, если вы хотите избавиться от процесса все вместе, просто нажмите Стоп .


Насколько я понимаю, перезагрузка компьютера будет иметь тот же эффект, что и перезагрузка DWM. И будет ли остановка DWM хорошей идеей, учитывая, что это необходимо?
Леонард Чаллис

Технически да, но здесь прочитайте это, посмотрите, поможет ли это кому-нибудь: howtogeek.com/howto/windows-vista/…
imtheman

1
Я не вижу, как это помогает вообще. Обратите внимание, что я не рекомендую отключать это, если вы не играете в игры в полноэкранном режиме, и даже тогда, вероятно, это не поможет увеличить скорость. для начала, и я действительно уже прочитал эту страницу (я сделал Google, прежде чем опубликовать этот вопрос). Я также сказал, что я знаю, что можно остановить его переключение, но я хочу знать, почему он использует слишком много памяти, иначе он просто покрывает трещины. и это совсем не помогает
Леонард Чаллис

Начиная с Windows 7 невозможно остановить DWM (поэтому служба не отображается в services.msc)
marijnr

0

Еще один совет по ускорению - удерживать windows keyи нажать r, набрать msconfigи нажать enter, щелкнуть boot tab>, advanced optionsзатем проверить, mark number of processorsзатем щелкнуть стрелку вниз и выбрать максимальное количество ядер 2 - дуо 4 - удар по четверке ok.
Отметьте журнал загрузки и информацию о загрузке ОС, затем щелкните правой кнопкой мыши make all boot changes permanentи убедитесь, что больше ничего не открыто, нажмите « applyПерезагрузить».
Большинство компьютеров Microsoft Windows используют только одно ядро ​​по умолчанию. Это работает на Windows 8 и 8.1 точно. До этого я ничего не пробовал.
Удачи :)


это не очень хорошая идея, чтобы возиться с этой опцией - особенно ваш комментарий: «Большинство компьютеров под управлением Microsoft Windows используют по умолчанию только одно ядро». !!
Симон
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.