unix 如何从顶部捕获CPU空闲时间(id)?

j0pj023g  于 2023-10-18  发布在  Unix
关注(0)|答案(1)|浏览(177)

我正在尝试从top捕获CPU空闲时间(id)。
下面的代码捕获平均负载,我试图操纵下面的代码,使它捕获的CPU空闲时间。
欢迎任何想法。

top -bn1 | grep load | awk '{printf "CPU load %: %.2f\n", $(NF-2)}'

上面的代码输出:

CPU load %: 0.44

我想更改代码,使其输出CPU空闲时间

CPU Id %: 92.9%

顶部输出示例:

top - 10:35:25 up 1 day, 16:06,  5 users,  load average: 0.24, 0.16, 0.15
Tasks: 210 total,   2 running, 198 sleeping,  10 stopped,   0 zombie
%Cpu(s):  2.2 us,  0.2 sy,  4.7 ni, 92.9 id,  0.0 wa,  0.0 hi,  0.0 si,  0.1 st
KiB Mem:  16433064 total,  1353396 used, 15079668 free,   180944 buffers
KiB Swap:        0 total,        0 used,        0 free.   700468 cached Mem

PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
24293 ubuntu    30  10   32828   2576   1608 S  19.3  0.0   0:25.30 fiberlamp
 2173 ubuntu    20   0   51200  16496   4952 S   9.3  0.1 263:34.18 Xvnc4
12648 ubuntu    20   0   23668   1732   1180 R   0.3  0.0   0:04.25 top 
...
kxkpmulp

kxkpmulp1#

grep for '%Cpu(s)'

top -bn1 | grep '%Cpu(s)' | awk -F',' '{printf "CPU id %: %.2f%\n", $4}'

相关问题