Утечка GDI

Если вы обнаружили какие либо ошибки, недочеты и неудобства или другие незачеты в программе напишите нам об этом на этом форуме - мы бум исправлять
Ответить
serpee
Сообщения: 21
Зарегистрирован: 30 дек 2009, 12:51

Утечка GDI

Сообщение serpee » 27 окт 2012, 12:10

Ситуация такая:
Система:
- на нескольких серверах лицензионная Windows7 64 Home OEM SP1 (постоянно обновляется), IE9, XHE 4.4 Advanced Runtime
- на одном не лицензионная Windows Vista Ultimate 64 SP2, IE9, XHE 4.4 Advanced Runtime
Серверы: пару 4х ядерных интелов и один 4х ядерный амд, все с 8гб мозгов.
Своей менеджер кседантов, работающий по принципу: открыл кседант, запустил скрипт, после ожидания отработки скрипта закрытие кседанта, если скрипт не справляется по таймауту то прикрывает и скрипт и кседант. Так это все работает безпрерывно в 50 - 70 потоков.
Примерно 1-2 раза в сутки при запуске кседантов появляются следующие сообщения:
Изображение
Естественно работа сервера парализуется, при этом через Task Manager (если его удается открыть) видно следующее:
Изображение
Т.е. процесс explorer.exe сожрал 9999 ресурсов GDI, при этом если я прибью все кседанты и скрипты, эти ресурсы не осовободятся.
Тут собственно утечка на лицо. В данном случае помогает только либо перезагрузка explorer.exe, либо сервера.
Попытался как полумеру хотябы увеличить число ресурсов GDI, чтобы отсрочить этот момент переполнения.
Погулив поизменял в реестре следующее:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\SubSystems - Windows
Windows SharedSection=5120,65536,5120
Изображение

и

HKLM\Software\Microsoft\Windows NT\Current Version\Windows
GDIProcessHandleQuota, USERProcessHandleQuota установил на порядок больше
Изображение

Затем перезагрузка.

Но эти монипуляции не помогли, как забивал explorer.exe 9999 так и забивает.
Возможно кто-то в курсе, как в 7ке таки увеличить количество GDI.

К разработчикам - как бы предотвратить эту утечку впринципе.

Аватара пользователя
bigfozzy
Site Admin
Сообщения: 3057
Зарегистрирован: 28 июл 2008, 17:24
Контактная информация:

Re: Утечка GDI

Сообщение bigfozzy » 29 окт 2012, 03:41

Возможно это будет полезно : http://support.microsoft.com/kb/2719248/ru
Объекты освобождаются 35 секунд или больше после остановки приложения отображение новых анимированные элементы управления.
И возможно вот это может помочь - "http://msdn.microsoft.com/en-us/library ... s.85).aspx"

как вариант отключить еще при работе ненужную графику. и загружать только то что надо.

+ еще можно делать kill на уровне процессов "explorer.exe"
http://www.ghacks.net/2012/08/09/restar ... -shortcut/

а течет судя по всему сама семёрка:
http://windows7seven.ru/novosti/sboi-si ... nsoli.html , проблему можно решить установив второй SP

serpee
Сообщения: 21
Зарегистрирован: 30 дек 2009, 12:51

Re: Утечка GDI

Сообщение serpee » 30 окт 2012, 01:14

Благодарю, порою, о результатах отпишу. Утечка, кстати, не только в 7ке, в висте тоже самое.

serpee
Сообщения: 21
Зарегистрирован: 30 дек 2009, 12:51

Re: Утечка GDI

Сообщение serpee » 30 окт 2012, 10:02

В первой статье описывается как увеличить лимит, таким же способом как это делал я, в 7ке не срабатывает почему то. По поводу приития поцесса explorer.exe, если его рибивать то потом запустив он уже не востановится в полной мере, запустится одно окошко типо мой компьютер, позможно его просто надо запускать с отдельными параметрами, но но это не столь важно.
Мне вполне подошол вариант просто прибить explorer.exe, без него можно обойтись.

И тут нарисовался интересный момент:
Изображение
Теперь GDI жрет taskhost.exe

По поводу Windows 7 SP2, то он ещё не вышел.

serpee
Сообщения: 21
Зарегистрирован: 30 дек 2009, 12:51

Re: Утечка GDI

Сообщение serpee » 30 окт 2012, 14:11

Поставил сейчас патч для 7ки: http://homegate.ru/group/it-news/post/14055
Буду наблюдать, попустило ли.

serpee
Сообщения: 21
Зарегистрирован: 30 дек 2009, 12:51

Re: Утечка GDI

Сообщение serpee » 31 окт 2012, 18:35

Проблема таки не в этой утечке, ее патч пофиксил, сейчас все норм:

Изображение

Но сообщения
Изображение

через сутки как и раньше все равно начали появляться.

Аватара пользователя
bigfozzy
Site Admin
Сообщения: 3057
Зарегистрирован: 28 июл 2008, 17:24
Контактная информация:

Re: Утечка GDI

Сообщение bigfozzy » 01 ноя 2012, 15:19

постучитесь в саппорт, это нужно по тимвьюверу наверное посмотреть ...

PS: у нас скрипты работают сутками - без зависонов и таких сообщений на многих типах винды (от 2003 до Win 7) с рестартами и полет нормальный (рестарт сделан средствами хумана, без внешних инструментов), и полет нормальный

Ответить