четверг, 12 августа 2010 г.

Базовый мониторинг производительности Windows

Эти счетчики можно использовать для базового мониторинга всех рабочих станций и серверов в Windows окружении.

\Processor\% Processor Time
Основной показатель активности. Однако если наблюдать за ним, то делать это надо часто, допустим раз в секунду. Сам по себе ничего не показывает, однако если параллельно изменяются % Privileged Time или Processor Queue Length, есть смысл задуматься и понаблюдать более пристально при помощи специальных утилит.

\Processor\% Privileged Time
Показывает процентное время работы процессора в режиме ядра. В нормальном режиме это значение не должно быть высоким.
Постоянное значение более 75% говорит о проблеме

\Processor(_Total)\% User Time
Показывает процентное время работы процессора в пользовательском режиме. Это основной режим работы.

\Processor\% DPC Time
Показывает процентное время, затраченное процессором на обработку отложенных вызовов. Большие значения указывают на аппаратные проблемы, или проблемы с драйверами. Обычно этот показатель не превышает 5%. Если это значение, или выше, сохраняется длительное время - это индикатор проблемы.

\Processor(*)\% Interrupt Time
    Этот счетчик показывает процентное время, которое процессор затрачивает на обработку аппаратных прерываний. Большие значения счетчика говорят о проблеме в драйвере или аппаратных проблемах. Обычно не превышает нескольких процентов в очень короткое время.



\System\System Up Time 
Тут все ясно. Время с последней перезагрузки. Короткое время может показывать на частые перезагрузки.


\System\Processor Queue Length
Основным объектом исполнения кода являются потоки. Они же являются основным потребителем ресурсов процессора. Очередь процессора это потоки, ожидающие, пока процессор освободится. После выполнения очередного потока система передает процессор следующему из очереди. Таким образом очередь постоянной длиной в два и более потоков сигнализирует о повышеной нагрузке на процессор. Однако при анализе нужно учитывать и счетчик Processor\% Processor Time. Если его значения не высоки при наличии очередей, то это означает проблему в логике самих потоков. Это справедливо так же и для многопроцессорных систем.


\System\Context Switches/sec
    Переключение контекста происходит, когда ядро переключает процессор с одного потока на другой. В частности, это происходит если поток с более высоким приоритетом переходит в состояние готовности или рабочий поток переходит в режим ожидания операций ввода/вывода. Обычно, большие значения могут говорить о том, что в системе существует слишком много потоков.


\Memory\Pages/sec
Достаточно хитрый счетчик. Он показывает, сколько страниц в сек было прочитано или записано в рамках обработки страничного прерывания. Это прерывание возникает тогда, когда искомая страница памяти оказывается выгруженой на диск в данный момент. Однако в этот счетчик попадают так же и рабочие ситуации связанные с кэшем и memory-mapped файлами. По этому по нему нельзя однозначно сказать о недостатке памяти.


\Memory\Page Reads /sec
Счетчик, который можно использовать в дополнение к предыдущему. Он показывает сколько операций чтения в единицу времени, безотносительно к страницам, было сделано при обработке страничных прерываний.


Memory\Pages Input/sec
Количество страниц, прочитанных с диска, в рамках обработки страничных прерываний.


Memory\Page Reads/sec
Количество страниц, записанных на диск, в рамках обработки страничных прерываний.


\Memory\ Cache Faults
Счетчик учитывает промахи системного кэша.
Таким образом, если \Memory\Pages/sec, \Memory\Page Reads /sec,  Memory\Pages Input/sec, Memory\Page Reads/sec постоянно находятся на высоком уровне, а \Memory\Cache Faults на низком, то можно предположить, что операционная система активно работает с файлом подкачки, что, в свою очередь, сигнализирует о недостатке памяти. Однако, если \Memory\Cache Faults тоже высок, то скорее всего ситуация вызвана активной работой с большими файлами, отображаемыми в память. Такое поведение не должно длиться долго.


\Memory\Available MBytes
Количество доступной процессам физической памяти. Уменьшение счетчика, сопровождаемое ростом \Memory\Pages/sec и \Memory\Page Reads /sec может сигнализировать о недостатке памяти. Постоянное и равномерное уменьшение счетчика указывает на утечку памяти в одном из приложений.


Memory\Transition Faults/sec
Значение это счетчика показывает скорость, с которой обрабатываются так называемые soft faults - ошибки страниц, для разрешения которых не нужны обращения к диску. Количество Transition Faults равно количеству таких страниц.


\LogicalDisk(*)\% Free Space
Счетчик, показывающий процент свободного места на логических дисках.


LogicalDisk|PhysicalDisk\Avg. Disk Queue Length
Счетчик следит за количеством запросов, стоящих в очереди к диску. Считается, что, если очередь к диску длительное время более двух - это может быть индикатором проблемы.

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