No Image

Счетчики производительности не запущены

СОДЕРЖАНИЕ
0 просмотров
10 марта 2020

Если сравнить между собой внешний вид диспетчера задач в Windows 8 (8.1) и в Windows Server 2012 (R2) можно заметить одну интересную особенность — в серверной версии Task Manager-а не отображается информация о производительности/загрузке дисковой подсистемы. В то же время в десктопной редакции Windows 8 эта информация есть:

Внешний вид вкладки Perfomance диспетчера задач в Windows Server 2012

Внешний вид вкладки Perfomance в Task Managere Windows 8

Дело в том, что разработчики Windows решили убрать информацию cо счетчиков производительности дисковой подсистему из Task Manager, объясняя это высокой нагрузкой на дисковую подсистему, вызываемую эти счетчиком, а для мониторинга дисковой подсистемы рекомендуют использовать Resource Monitor.

Однако в Windows Server 2012 существует возможность включить отображение счетчиков производительности дисков в диспетчере задач. Сделать это можно командой:

Перезапустите Task Manager и убедитесь, что на вкладке Perfomance появилась информация о скорости чтения/записи на диск (и).
Отключается функционал аналогично:

Блог о компьютерах, операционных системах и программном обеспечении

среда, 3 декабря 2014 г.

Ошибка "Не удается получить данные счетчиков производительности" в диспетчере серверов

  1. Запустить Системный монитор (perfmon.exe), затем развернуть меню Группы сборщиков данных, а после этого Особый и найти группу Server Manager Performance Monitor. Так как, скорей всего, она будет отсутствовать, переходим к следующему шагу.
  2. Переходим на сервер в котором счетчики производительности работают без проблем.
  3. Открываем Командную строку (cmd.exe) с правами администратора и экспортируем группу сборщиков данных "Server Manager Performance Monitor" используя команду:

    logman export -n "Server Manager Performance Monitor" -xml SMPM.xml
  4. Открываем полученный файл SMPM.xml в Wordpad и полностью удаляем секцию Список различных ID , а затем сохраняем файл.
  5. Переносим файл SMPM.xml на неработающий сервер. Там же открываем Командную строку (cmd.exe) с правами администратора и импортируем вышеуказанный XML файл:
Читайте также:  Far cry primal трейлер на русском

logman import -n "Server Manager Performance Monitor" -xml SMPM.xml
Запускаем счетчики производительности:

logman start "Server Manager Performance Monitor"

  • После обновления Диспетчера серверов данные производительности станут доступны.
  • В своем первом посте я хотел бы поделитьcя опытом использования такой утилиты как logman, с помощью которой можно собирать информацию о потреблении ресурсов (и не только) приложением под Windows.

    В один из дней на работе была поставлена задача снятия метрик производительности для одного приложения под Windows. Главным условием было использовать по минимуму какие-либо сторонние утилиты, и так как опыта в подобных вещах у меня к тому времени не было, немного покопавшись, выбор пал на logman. Особой точности не требовалось и надо было лишь понять характер потребления ресурсов приложением, для чего logman с первого взгляда вполне подходил.

    Итак, перейдем непосредственно к сути поста.

    Многие из вас скорее всего в работе или для домашних нужд использовали нативную Windows утилиту Performance monitor (perfmon). Так вот logman — это грубо говоря command line представление perfmon’а. Он позволяет создавать, запускать, останавливать счетчики производителности, писать результат во внешние файлы и много чего еще. Мне был необходим только базовый функционал, который я и опишу ниже.

    Небольшое замечание: для выполнения нижеследующих операций необходимо обладать правами администратора, иначе может вылететь такая ошибка.

    Просмотр созданных и запущенных счетчиков

    Посмотреть список сборщиков данных можно командой logman
    В результате чего будет получен примерно такой вывод:

    Создание счетчика производительности

    Для создания счетчика я использовал следующую команду (с полным списком опций можно ознакомиться в официальной документации.):

    • counter_name — имя счетчика. Может быть любым, например «explorer_cpu»
    • -f — формат файла с результатами измерений
    • —v — эта опция подавляет вывод версии в выходном файле
    • -si — интервал. с которым будут записываться измерения
    • -o — файл с результатами измерений
    • -c — идентификатор счетчика производительности
    Читайте также:  Dark souls 3 как парировать на клавиатуре

    Остановимся подробнее на последней опции. Чтобы понять, что вписывать в поле «counter», можно проследовать в perfmon, создать группу сборщиков данных и выбрать «Создать -> Сборщик данных». Далее выбрать «Добавить счетчик» и в появившемся окне найти интересующий нас тип счетчика.

    Меня интересовало потребление cpu и памяти конкретным процессом, поэтому я использовал для измерений следующие счетчики (в расчете CPU мне помог следующий пост):

    • "Processor(_Total)\% User time" — процент CPU в пользовательском режиме
    • "Process(application_name)\% Processor time" — доля CPU приложения от пользовательского режима
    • "Process(application_name)Working Set" — использование оперативной памяти процессом

    Процент потребления CPU процессом можно расчитать как ("Processor(_Total)\% User time" * "Process(application_name)\% Processor time") / (количество_процессоров * 100)

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

    В итоге приведу пример готовой команды для создания счетчика:

    Запуск и остановка счетчика

    Выполняются соответствующими командами:

    Удаление счетчика

    Удалить счетчик можно следующей командой (он обязательно должен быть перед этим остановлен):

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

    Так как собирать данные предполагалось за довольно небольшой промежуток времени (5-15 секунд), то стало понятно, что интервал сбора в 1 с (задаваемый через опцию "-si") слишком большой. Поискав на просторах интернета и в оф. документации, мне не удалось найти способ, которым этот интервал можно было уменьшить, а количество получаемых точек на графике очень хотелось увеличить. Немного поразмыслив, я решил пойти от противного — если нельзя уменьшить интервал, то можно увеличить количетство счетчиков. Таким образом, запуская подряд несколько сборщиков с интервалом в 100-500 миллисекунд, можно получить за одну секунду сколько нужно данных.

    Читайте также:  Как посмотреть дерево каталогов с файлами

    Процесс сбора данных должен был быть интегрирован в существующий автоматический тест и в конечном была написана небольшая вспомогательная обертка для выполения всех вышеуказанных действий.

    Ниже представлен исходный код модуля, собирающий данные по CPU и оперативной памяти для указанного приложения с требуемой точностью.

    Комментировать
    0 просмотров
    Комментариев нет, будьте первым кто его оставит

    Это интересно
    Adblock detector