【发布时间】:2015-07-14 09:55:06
【问题描述】:
我正在尝试从 TOP 捕获 CPU 空闲时间。 以下代码捕获平均负载 我正在尝试操作以下代码,以便它捕获 CPU 空闲时间。
欢迎任何想法。
top -bn1 | grep load | awk '{printf "CPU load %: %.2f\n", $(NF-2)}'
The Above Code Outputs: 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.....
........
【问题讨论】:
-
你得到什么输出,你期望什么?
-
预期输出仍不清楚...
-
我不愿给出答案,因为例如,顶部的 my 第 3 行看起来像这样(注意没有“id”表示空闲,并且使用小数点逗号而不是小数点):
%Cpu(s): 0,0 be, 0,0 sy, 0,0 ni, 99,9 un, 0,1 wa, 0,0 hi, 0,0 si, 0,0 st--top的确切输出可能会有所不同(取决于平台、语言环境等),并且您的捕获行可能会出现空白。 -
感谢您。- 我需要在应用程序中保持一致。