пятница, 13 ноября 2015 г.

Высокая загрузка CPU на сервере приложений

Краткое содержание:

По данным счетчика Processor(_Total)\% Processor Time видим 100% использование CPU на сервере приложений.
Что делать?


Что требуется сделать

  1. Подключиться к указанному серверу
  2. Запускаем Process Explorer
  3. Находим процесс-виновника
  4. Если виновник - rphost
    • Заходим в консоль администрирования кластера серверов
    • Находим сеансы, находящиеся в длительном клиент-серверном вызове (колонка "Время вызова (текущее)") и не в вызове СУБД (колонка "Время вызова СУБД (текущее)")
    • Записываем их номера и время начала сеансов, записываем их базы
    • Завершаем сеансы
    • Убеждаемся, что нагрузка упала
    • Расследуем по журналу регистрации, какой именно сценарий отрабатывали завершенные сеансы (Что именно они делали?)
  5. Если виновник rmngr
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

Комментариев нет:

Отправить комментарий