命令列列出使用最多 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

在此輸入影像描述

相關內容