命令行列出使用最多 CPU 的进程

命令行列出使用最多 CPU 的进程

我正在寻找一个命令行工具/脚本来定期捕获和存储总 CPU 使用率百分比和占用大部分 CPU 的进程,类似于sysinternals process explorer我下面粘贴的屏幕截图。

我努力了

C:\Windows\system32>typeperf "\process(*)\% processor time" -sc 1

这将输出两行,第一行是进程名称,第二行是 CPU 使用率,例如

C:\Windows\system32>typeperf "\process(_Total)\% processor time" "\process(mcshield)\% processor time" -sc 1

"(PDH-CSV 4.0)","\\****\process(_Total)\% processor time","\\****\process(mcshield)\% processor time"
"01/25/2021 09:06:44.599","792.840227","29.364453"

The command completed successfully.

由于计算机有 8 个核心,我可以简单地将其除以 8 来获得“当前” CPU 使用率百分比吗?

我检查了一下sysinternal pslist。每行都有一个进程,但我不明白这些数字在 CPU % 方面代表什么意思。

C:\Windows\system32>pslist -nobanner
Process information for W-2D5TQQ2:

Name                Pid Pri Thd  Hnd   Priv        CPU Time    Elapsed Time
Idle                  0   0   8    0     60     4:38:55.890     1:19:32.649
System                4   8 289 5662    216     0:28:33.656     1:19:32.649
Secure System        72   8   0    0    184     0:00:00.000     1:19:40.412
Registry            128   8   4    0  14012     0:00:13.406     1:19:40.225
smss                620  11   2   53   1188     0:00:01.015     1:19:32.630
csrss               960  13  13  901   1932     0:00:20.796     1:19:08.909
wininit             648  13   1  163   1372     0:00:00.218     1:19:04.494

在此处输入图片描述

相关内容