Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在linux shell脚本中获取cpu sirq?_Linux_Shell_Embedded Linux_Sh - Fatal编程技术网

如何在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}'