Подтвердить что ты не робот

Возможно ли узнать использование процессора с помощью script

Есть ли какая-либо команда или возможный способ узнать использование процессора в операционной системе Windows для использования в командной строке или в пакете script?

4b9b3361

Ответ 1

Чтобы определить использование в целом, вы можете использовать mcstellar и warren ответ. У вас также есть возможность:

Список всех процессов:

typeperf "\Process(*)\% Processor Time" -sc 1

Перечислите все процессы, возьмите 5 образцов с интервалом в 10 секунд:

typeperf "\Process(*)\% Processor Time" -si 10 -sc 5

Если вам нужен конкретный процесс, например, Rtvscan:

typeperf "\Process(Rtvscan)\% Processor Time" -si 10 -sc 5

Мне было очень полезно просто контролировать всю активность процесса в течение определенного периода времени. Затем я мог бы сбрасывать его в файл csv и фильтровать в электронной таблице, чтобы удаленно диагностировать проблемы.

Следующее дает мне 5 минут (с интервалом 10 секунд) всех процессов. Данные включают не только% Processor Time, но IO, память, пейджинг и т.д.

typeperf -qx "\Process" > config.txt typeperf -cf config.txt -o perf.csv -f CSV -y -si 10 -sc 60

Ответ 2

Для мониторинга с интервалом в 1 секунду используйте:

typeperf "\processor(_total)\% processor time"

Только для текущего использования используйте:

typeperf -sc 1 "\processor(_total)\% processor time"

Ответ 3

Из командной строки? Посмотрите на PsList в пакете PsTools.

Ответ 4

здесь немного vbscript, который показывает использование процессора для каждого процесса

strComputer ="."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colProcess = objWMIService.ExecQuery("Select * from Win32_PerfFormattedData_PerfProc_Process",,48)
For Each obj in colProcess
If obj.Name <> "Idle"  And obj.Name <> "_Total" Then 
        WScript.echo obj.Name & "," & obj.PercentProcessorTime
End If
Next

сохранить как showcpu.vbs и запустить его в командной строке как

c:\test> cscript //nologo showcpu.vbs