Краткое содержание:
По данным счетчика Processor(_Total)\% Processor Time видим 100% использование CPU на сервере приложений.Что делать?
Что требуется сделать
- Подключиться к указанному серверу
- Запускаем Process Explorer
- Находим процесс-виновника
- Если виновник - rphost
- Заходим в консоль администрирования кластера серверов
- Находим сеансы, находящиеся в длительном клиент-серверном вызове (колонка "Время вызова (текущее)") и не в вызове СУБД (колонка "Время вызова СУБД (текущее)")
- Записываем их номера и время начала сеансов, записываем их базы
- Завершаем сеансы
- Убеждаемся, что нагрузка упала
- Расследуем по журналу регистрации, какой именно сценарий отрабатывали завершенные сеансы (Что именно они делали?)
- Если виновник rmngr
- Находим сеансы, находящиеся в длительном клиент-серверном вызове (колонка "Время вызова (текущее)") и не в вызове СУБД (колонка "Время вызова СУБД (текущее)")
- Записываем их номера и время начала сеансов, записываем их базы
- По журналу регистрации пробуем понять, что делают сеансы.
- Если виновник не понятен, то снимаем дамп с помощью утилиты ProcDump http://technet.microsoft.com/en-us/sysinternals/dd996900.asp
- Полученные дампы и технологические журналы (если собирались) отправляем в 1С с подробным описанием проблемы и симптомов
Batch файл рекомендуется к использования при необходимости получения дампов кластера серверов.
Нужно запустить batch file из директории, в которой расположен ProcDump
@ echo off
echo Start dumping all rmngrs, rphosts and ragents on this server...
CD %~dp0
for /f "usebackq tokens=2" %%a in (`tasklist /FO list /FI "IMAGENAME eq rmngr.exe" ^| find /i "PID:"`) do (
start /b procdump.exe -ma %%a rmngr_%%a)
for /f "usebackq tokens=2" %%a in (`tasklist /FO list /FI "IMAGENAME eq rphost.exe" ^| find /i "PID:"`) do (
start /b procdump.exe -ma %%a rphost_%%a)
for /f "usebackq tokens=2" %%a in (`tasklist /FO list /FI "IMAGENAME eq ragent.exe" ^| find /i "PID:"`) do (
start /b procdump.exe -ma %%a ragent_%%a)
pause
Комментариев нет:
Отправить комментарий