7

Использование памяти диспетчера окон моего рабочего стола постоянно увеличивается, что приводит к отключению Aero, говоря о том, что ему не хватает разрешенной памяти. DWM перезапускается и возвращается нормально, когда я убиваю его процесс. Почему это происходит? Как я могу это исправить? Могу ли я изменить количество памяти, которое разрешено?

Оборудование:

  • Intel Core 2 Quad / EVGA 680i mobo
  • Патриот 8 ГБ DDR2
  • (3x) Sapphire ATI Radeon HD 4760 (настройка нескольких месяцев, а не настройка Crossfire)

Редактировать:

Новая система Теперь на AMD Phenom 2 1055T с 16 ГБ памяти DDR3. Та же установка Windows 7 и те же видеокарты (Хотя новый mobo, MSI nf980-g65 также имеет встроенный HDMI, который я сейчас также использую). Точно такая же проблема.

Я нахожу, что это происходит чаще, когда у меня открыт браузер (ы), и когда у меня открыт Seesmic (приложение Silverlight вне браузера).

5 ответов5

7

Официальное неофициальное объяснение от команды разработчиков Windows заключается в том, что Windows прикрепляет приложения с графическим ускорителем к вашей основной видеокарте. Инженерная команда описывает, как "очень неэффективно" использовать приложение GPU Accelerated на неосновной видеокарте.

Они очень пренебрежительно относятся к тому факту, что это работало в течение многих лет, и теперь все приложения рендеринга на GPU подвергаются высокому риску отказа от DWM.

Они не знают о чём-либо и не требуют репро, несмотря на простоту Запуск нескольких видеокарт в режиме без SLI/Crossfire и вывод на несколько мониторов. Затем переносим полуактивное приложение с ускорением на GPU на неосновную видеокарту и следим за распределением GPU в общей памяти. Они будут всплывать относительно активности API графического процессора для приложения. Просто прокрутите или введите текст в браузере с ускорением на GPU (Chrome, IE, Firefox), и вы можете рискнуть, если DWM выделит больше разделяемого ОЗУ GPU быстрее, чем он сможет его освободить.

Могут быть проблемы, связанные с воспроизведением, которые, возможно, представляют собой комбинацию соотношения оперативной памяти видеокарты и системной памяти, однако я могу проверить скачки общей памяти графического процессора в ЛЮБОЙ системе с несколькими настройками видеокарты. Будь то сносит DWM.

DWM имеет переключатель уничтожения использования ресурсов, который срабатывает, когда он превышает выделение ресурсов по отношению к вашей машине. Я не уверен, более ли восприимчивы системы с большим количеством оперативной памяти или системы с большим количеством оперативной памяти графического процессора, поскольку довольно часто распределение памяти ограничено относительно вашей оперативной памяти. Запустите 10 приложений на 3 практически одинаковых системах, но с разным объемом оперативной памяти, и вы получите различное потребление памяти.

Опять же, официальный неофициальный ответ для решения этой проблемы - нет решения, и вы не должны запускать несколько видеокарт в настройках без SLI/Crossfire.

Отключение ускорения GPU в браузере также работает. IE9 - единственный браузер, о котором я знаю, где отключение GPU Acceleration приводит к довольно снижению производительности.

Конечно, эта проблема также заставляет очень внимательно относиться к тому, где вы запускаете Flash/Silverlight/Movies. На моей настройке достаточно запустить любой из них на моей 2-й видеокарте, несмотря на то, что она точно такая же, как моя основная.

3

Во-первых, я предполагаю, что вы используете 64-битную версию Windows, или же большая часть из 8 ГБ бесполезна :)

Во-вторых, я бы проверил, что вы установили в последнее время, что интегрируется с проводником Windows. Например, TurtleSVN (фрагмент интеграции SVN), который я видел много раз, плохо себя вел. По сути, он перечисляет каждую папку, к которой вы прикасаетесь, в проводнике, ожидая необходимости его интеграции с репозиторием SVN. И иногда это вызывает замедление и утечки - в области памяти Windows Explorer.

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

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

2

Из-за того, что это (старое) сообщение на форуме является лучшим результатом поиска Google для этой проблемы, я предоставляю обновление.

Я использую Windows 7 x64 с двумя видеокартами ATI и 3 мониторами. Простой ввод текста в Chrome на мониторе, подключенном к дополнительной видеокарте, приводит к резкому увеличению использования памяти dwm.exe и отключению Aero.

Попробовав МНОГИЕ предложенные решения, я смог обойти эту проблему, установив для параметра "Компоновка графического процессора на всех страницах" значение "Отключено" на экране конфигурации about:flags Chrome.

2

Мы столкнулись с этой специфической ситуацией совсем недавно, особенно в случае окон на вторичном GPU, которые очень легко тиражируются на нескольких машинах. Это невероятно специфический угловой случай, но я готов поспорить, что он применим к вам.

Были ли когда-нибудь модернизированы видеокарты в этой машине? Если это так, то это, вероятно, артефакт предыдущей конфигурации DirectX; Похоже, что Windows не следует правильным путям обновления с DX9 в каждой ситуации, и вместо этого она попытается запустить программную эмуляцию новых функций (они называют это "10Level9"), что может вызвать чрезмерную загрузку в dwm с аппаратно-ускоренными функциями, например, Aero, на вторичных графических процессорах.

Исправление, которое работало для нас следующим образом:

  • Запустите regedit. (Вы можете просто найти его в меню "Пуск" в Win7).
  • Перейдите к: HKEY_LOCAL_MACHINE\ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ \ Microsoft \ DirectX
  • Проверьте, установлены ли "InstalledVersion" = "00,00,00,09,00,00,00,00" и "Version" = "4.09.00.0904"
  • Если это так, удалите ВСЮ клавишу "DirectX". (Если это не так, возможно, я лаю не на том дереве. Windows 7 должна показать 6.01. что-то, хотя)
  • Перезагрузите машину, и проблема должна быть решена.
0

У меня была та же проблема, и я обнаружил, что реестр отключен, как это было предложено Шинреем. Однако удаление этого не решило мою проблему. Я также установил Direct X 11 отсюда, и это, похоже, решило проблему.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .