Я занимаюсь извлечением статистики дискового ввода-вывода в Windows 2003 при возникновении некоторых событий, например, возникновения длительного полного сборщика мусора, который долгое время ожидает ресурсов ЦП. Я читал, что Process Explorer позволяет вам это делать, но это приложение на основе графического интерфейса пользователя, что означает, что вы должны знать, когда проблема возникнет снова, и вы уже должны быть авторизованы на своем сервере. Однако, поскольку я не знаю, когда это произойдет, мне нужно написать сценарий для вывода статистики дискового ввода-вывода, когда последний сборщик мусора занял более x секунд.
Существуют ли уже существующие инструменты командной строки, такие как Я могу просто вызвать эту программу, чтобы вывести мне результаты?
Я не уверен, какой именно тип данных вы пытаетесь собрать, но все данные счетчика perfmon доступны через утилиту командной строки typeperf
даже в Server 2003.
Вывести список доступных счетчиков (без экземпляров):
typeperf -q
один раз выбрать общее использование ЦП за 10 секунд и вернуть:
typeperf "Processor(_Total)\% Processor Time" -si 10 -sc 1
В общем, все счетчики, доступные через графический интерфейс perfmon, также доступны через typeperf с тем же именем. Обратите внимание, что имена могут быть локализованы в системах без MUI.
Предыдущий ответ хорош, но его пример касается процессора, а не ввода-вывода диска. Вот один для этого:
typeperf -si 2 "\LogicalDisk(_Total)\Disk Bytes/sec"