Назад | Перейти на главную страницу

Проблемы нестабильности на 32-разрядных терминальных серверах Windows 2003 R2

У нас возникают проблемы с нестабильностью некоторых из 32-разрядных систем Windows 2003 TS.

После долгого поиска в Google я подозреваю, что в нем заканчиваются записи в таблице страниц (PTE).

Из того, что я могу понять, это проблема при использовании переключателя / 3gb на 32-битных серверах Windows, а с TS 'вы можете легко достичь предела.

Как вы можете проверить, что именно происходит? У меня нет опыта работы с perfmon и ограниченный опыт работы с Process Explorer, и я действительно не знаю, что ищу.

Больше информации: Всегда, когда это происходит, список процессов диспетчера задач пуст, также сбрасываются счетчики памяти. Когда это происходит, на сервере обычно работает около 65 пользователей, но они используют MSO и другое бухгалтерское программное обеспечение. Некоторые из них написаны довольно плохо и раздуты. Общее использование памяти на одного пользователя составляет 200-600 МБ, но на наших серверах никогда не заканчивается доступная оперативная память. На серверах установлено несколько принтеров, иногда до 20. Несколько лет назад серверы работали без сбоев с 70-80 пользователями, но были сокращены, поскольку это, казалось, стабилизировало их.

Память ядра Windows Server 2003 x86 по умолчанию явно недостаточно сконфигурирована для интенсивно используемого терминального сервера.

Чтобы просмотреть фактические значения, используемые в работающей системе, вы можете использовать SysInternal Process Explorer в разделе «Просмотр»> «Информация о системе». Если система настроена на использование максимального количества выгружаемого пула и невыгружаемого пула, то выгружаемый предел будет 512 МБ, а невыгружаемый предел - 256 МБ.

Чтобы показать этот уровень детализации, соответствующие символы должны быть загружены в Options> Configure Symbols:

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

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management]
"PagedPoolSize"=dword:FFFFFFFF
"SystemPages"=dword:FFFFFFFF

Стоит отметить, что наличие большого объема физической памяти может быть бесполезным, поскольку окна x86 могут использовать только довольно небольшой объем для пространства памяти ядра, и он не может расти сверх того, что указано в пределе. (Пределы памяти ядра x64 гораздо менее строгие). Предел рассчитывается динамически во время запуска системы на основе доступной памяти и настроек реестра.

Вы можете получить более подробную информацию о том, что использует память ядра, с помощью следующих команд Windows Debugger:

!vm - показывает информацию, аналогичную ограничениям памяти ядра проводника процессов.
! poolused n - отображает информацию об использовании выгружаемого / невыгружаемого пула. Иногда это может быть полезно, если у драйвера есть утечка памяти, которая потребляет слишком много памяти ядра.

! poolused команда
http://msdn.microsoft.com/en-us/library/windows/hardware/ff564700%28v=vs.85%29.aspx

! vm команда
http://msdn.microsoft.com/en-us/library/windows/hardware/ff565602%28v=vs.85%29.aspx

Мне кажется, что от 70 до 80 пользователей на 32-битном TS - это много. Наше плановое количество всегда составляло от 50 до 65 пользователей. Сколько оперативной памяти на серверах?

Использование / 3GB на TS вызовет проблемы с производительностью и стабильностью. Я видел это воочию. Он начинается с невозможности загрузить профили пользователей и быстро переходит к этому. Я предлагаю удалить переключатель / 3GB и посмотреть, как это повлияет на производительность и стабильность.

Вы можете найти описание того, как определить использование памяти ядра, в моей статье. Windows x64 - все то же самое, но очень разные, часть 2: память ядра, / 3 ГБ, PTE, (не) выгружаемый пул.

Короче говоря, используя WinDbg в сочетании с LiveKD, вы можете установить сеанс отладки в реальном времени с локальной машиной. Оттуда легко запросить такие вещи, как бесплатные PTE, использование и максимальное количество (не) выгружаемого пула.