Вы также можете попробовать с помощью сценария C # / Perl / Java получить данные об использовании с помощью команд WMI, и ниже приведены шаги для этого.
Нам нужно выполнить 2 запроса WMI Select и применить формулу загрузки CPU%
1. Чтобы получить общее количество логических процессов
select NumberOfLogicalProcessors from Win32_ComputerSystem
2. Чтобы получить значения PercentProcessorTime, TimeStamp_Sys100NS (была применена формула использования ЦП для получения фактического процента использования) и минимума WorkingSetPrivate (RAM) 2 раза с интервалом ожидания 1 секунда
select * from Win32_PerfRawData_PerfProc_Process where IDProcess=1234
3. Применить формулу загрузки% процессора
CPU%= ((p2-p1)/(t2-t1)*100)/NumberOfLogicalProcessors
p2 указывает PercentProcessorTime, извлеченный во второй раз, а p1 указывает PercentProcessorTime, извлеченный в первый раз, t2 и t1 для TimeStamp_Sys100NS.
Пример Perl-кода для этого можно найти по ссылке http://www.craftedforeveryone.com/cpu-and-ram-utilization-of-an-application-using-perl-via-wmi/
Эта логика применяется ко всем языкам программирования, которые поддерживают запросы WMI