Цифровые эквиваленты счётчиков производительности windows
Зачем нужны цифровые эквиваленты счётчиков производительности
Как Вы знаете, счётчики производительности Windows записываются в виде слов или фраз, разделённых символом обратный слеш - '\", например:
\Processor(_total)\% processor time
или
Процессор(_total)\% загруженности процессора
Однако не все знают, что в название счётчика зависит от того, в какой версии Windows этот счётчик запрашивается: в русскоязычной или англоязычной. В русской версии (например) не будет работать счётчик, название которого написано на английском языке. Аналогично, в английской версии windows русскоязычный счётчик работать не будет.
Что же делать? Как получить данные со счётчика независимо от версии, разрядности или языка операционной системы windows? Всё очень просто: используйте вместо названий счётчиков их цифровые эквиваленты!
Важно: обратите внимание, что свыше 90% цифровых эквивалентов счётчиков производительности не работают на клиентских версиях windows (т.е. на рабочих станциях). На серверных версиях (windows 2003 / 2008 / 2012) всё работает нормально, а на клиентских (windows XP / Vista / 7 / 8) работают очень немногие из числовых счётчиков производительности!
Как пользоваться цифровыми эквивалентами счётчиков производительности
Пользоваться такими цифровыми эквивалентами можно точно так же, как и обычными названиями счётчиков, просто вместо слов или фраз будут числа (да и то не во всех местах), например:
Счётчик, показывающий % загрузки процессора:
в английской версии windows:
\Processor(_total)\% processor time
в русской версии windows: Процессор(_total)\% загруженности процессора
в любой версии windows (цифровой эквивалент): \238(_Total)\6
Как определить цифровой эквивалент счётчика производительности windows
Для того, чтобы преобразовать названия счётчиков в их цифровые эквиваленты, используются специальные таблицы соответствия, которые хранятся в реестре.
Для англоязычных версий Windows:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009
В элементе Counter значением является такая таблица соответствий. Соответствие выглядит следующим образом - цифровой эквивалент, а под ним - название счётчика:
1
1847
2
System
4
Memory
6
% Processor Time
10
File Read Operations/sec
12
File Write Operations/sec
14
File Control Operations/sec
16
File Read Bytes/sec
18
File Write Bytes/sec
....
Для русскоязычных версий Windows:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\019
В элементе Counter значением является такая таблица соответствий. Соответствие выглядит следующим образом - цифровой эквивалент, а под ним - название счётчика:
1
1847
2
Система
4
Память
6
% загруженности процессора
10
Операций чтения файлов/с
12
Операций записи файлов/с
14
Операций управления файлами/с
16
Байт чтения файлов/с
...
Здесь Вы можете найти соответствующие цифровые эквиваленты для каждой части счётчика производительности (счётчик производительности состоит из нескольких частей, разделенных символом обратный слэш - "\", например счётчик \System\System Up Time:
System => 2
System Up Time -> 674
в результате получаем счётчик: \2\674
Другой пример: счётчик "\Память\Предел выделенной виртуальной памяти"
Память => 4
Предел выделенной виртуальной памяти => 30
в результате получаем счётчик: \4\30
И снова обращаю Ваше внимание: свыше 90% цифровых счётчиков производительности работает только на серверных версиях windows. Например, на клиентских (и на серверных, разумеется, тоже) версиях работает счётчик:
\Processor(_Total)\% Processor Time
\Процессор(_Total)\% загруженности процессора
\238(_Total)\6
|