Есть ли какая-либо команда или возможный способ узнать использование процессора в операционной системе Windows для использования в командной строке или в пакете script?
Возможно ли узнать использование процессора с помощью script
Ответ 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