如何在linux shell脚本中获取cpu sirq?
以下是如何在linux shell脚本中获取cpu sirq?,linux,shell,embedded-linux,sh,Linux,Shell,Embedded Linux,Sh,以下是top-b Mem: 95752K used, 29164K free, 0K shrd, 0K buff, 35176K cached CPU: 5% usr 9% sys 0% nic 0% idle 0% io 0% irq 84% sirq 我需要连续监视sirq,如何在shell脚本(sh)中实现这一点 问候,, Yuvi我会用c 使用fork()管道()和execl() 1.创建管道() 做叉子 3.儿子。处理execl()输出并发送到管道 4.父亲
top-b
Mem: 95752K used, 29164K free, 0K shrd, 0K buff, 35176K cached
CPU: 5% usr 9% sys 0% nic 0% idle 0% io 0% irq 84% sirq
我需要连续监视sirq
,如何在shell脚本(sh)中实现这一点
问候,,
Yuvi我会用c
使用fork()管道()和execl()
1.创建管道()
做叉子
3.儿子。处理execl()输出并发送到管道
4.父亲。等待、接收并显示所需字段
所有这些都在一个循环中进行请参见Linux内核的第1.8节。proc.txt文件第1.8节中的。
也具有指导意义 1.8/proc/stat中的杂项内核统计信息 有关内核活动的各种信息可在 /proc/stat文件。此文件中报告的所有数字都是聚合数 自系统首次启动以来。要快速查看,只需对文件进行cat “softirq”行给出了自引导时间以来为每个服务器提供服务的softirq的计数 可能的系统软件。第一列是所有数据的总和 已服务的软件IRQ;随后的每一列都是该特定项目的总计 softirq 下面的命令获取自启动以来的总数
cat /proc/stat | grep softirq | awk '{print $2}'
你必须在脚本中做一些数学运算才能得到增量
每个CPU
行都有一个softirq值。这是第八项,再次手动增量时间
如果愿意,您可以单独选择每个CPU。我相信人们可以想出更好的脚本,但我认为它们体现了原则。
top
建议暂时执行。如果你想一直监视某些东西,最好使用sar
。此线程可以帮助您-->@fedorqui,这是top的输出。我只需要grep sirq值(84)
cat /proc/stat | grep cpu[^0-9] | awk '{ print $8}'