У меня есть 32-битные серверы Win2K3, на которых запущено приложение, которое время от времени дает сбой, очевидно, из-за фрагментации кучи. (Виртуальные байты процесса растут, частные байты - нет) У меня нет доступа к исходному коду или процессу сборки этого приложения.
Я изменил boot.ini файл на одном из этих серверов, чтобы включить /userva=2560
, на полпути между нормальным режимом работы и /3GB
вариант. Обычно для достижения точки отказа требуются недели, но я хотел бы сразу посмотреть, действительно ли это имело какой-либо эффект.
Насколько я понимаю, эта опция ограничивает ядро оставшимся адресным пространством (1536 МБ вместо 2048), но не обязательно предоставить приложению дополнительное адресное пространство в зависимости от флагов в заголовке PE приложения.
Как я могу определить, разрешает ли операционная система конкретному приложению, работающему в производственной среде, получать доступ к адресному пространству размером более 2 ГБ? Кроме того, как лучше всего контролировать систему, чтобы гарантировать, что ядро не испытывает недостатка в адресном пространстве, и в целом, как мне найти оптимальное значение для этого параметра?
Две вещи, во-первых, вам все еще нужен /3GB
флаг по данным КБ.
Во-вторых, учитывая, что утечка настолько медленная, зачем беспокоиться, вам следует перезагружаться каждый месяц или максимум два, просто чтобы применить обновления безопасности.
Память ядра (выгружаемая / невыгружаемая / кеш) - вы можете просмотреть это с помощью отладчика Windows. Файл> Отладка ядра> вкладка Локальные. "! vm" показывает память ядра. Важными значениями являются использование пула и максимум:
Использование NonPagedPool: 10300 (41200 КБ)
NonPagedPool Макс: 65281 (261124 КБ)
Использование PagedPool: 14531 (58124 КБ)
Максимум PagedPool: 134144 (536576 КБ)
Вы также можете проверить заголовок PE-образа программы с помощью PE Explorer. Поле «Характеристики» определяет, может ли программа получить доступ к памяти размером более 2 ГБ. Если он не установлен, / 3GB будет пустой тратой.
PE Explorer
http://www.pe-explorer.com/