系统之家官网 网站地图| TAG标签| RSS订阅| 加入收藏

系统排行榜

如何用Linux命令查询CPU用率

如何用Linux命令查询CPU用率
更新时间:2024-09-09 21:34 系统大小: 系统类型:其他教程
授权方式: 系统语言: 系统位数:
系统品牌: 系统版本:

安全检测:

推荐星级:

详细介绍

在Linux系统操作中,有时需要查询cpu的用法率,这就需要用到Linux命令了,Linux查询cpu用率的命令主要有4个,即TOP、vmstat、mpstat和prstat命令,一块儿认识下吧。

1.TOP

用权限:所有用户

用方法:TOP [-] [d delay] [q] [c] [S] [s] [i] [n] [b]

说明:即时显示process的动态

d :改变显示的更新速度,或是在交谈式指令列( interactive command)按s

q :没任何延迟的显示速度,假如用户是有superuser的权限,则TOP将会以最高的优先序实行

c :切换显示模式,共有两种模式,一是只显示实行档的名字,另一种是显示完整的路径与名字S :累积模式,会将己完成或消失的子行程( dead child process )的CPU time累积起来

s :安全模式,将交谈式指令取消,防止潜在的危机

i :不显示任何闲置(idle)或无用(zombie)的行程

n :更新的次数,完成后将会退出TOP

b :批次档模式,搭配n参数一块用,可以用来将TOP的结果输出到档案内

范例:

显示更新十次后退出;

TOP -n 10

用户将不可以借助交谈式指令来对行程下命令:

TOP -s

将更新显示二次的结果输入到名字为TOP.log的档案里:

TOP -n 2 -b 《 TOP.log

另附一个命令介绍linux traceroutewindows tracert两个命令相当,跟踪互联网路由

2.vmstat

正如大家之前讨论的任何系统的性能比较都是基于基线的,并且监控CPU的性能就是以上3点,运行队列、CPU用率和上下文切换。以下是一些对于CPU非常常见的性能需要:

1.对于每个CPU来讲运行队列不要超越3,比如,若是双核CPU就不要超越6;

2.假如CPU在满负荷运行,应该符合下列分布,

a) User Time:65%~70%

b) System Time:30%~35%

c) Idle:0%~5%

3. mpstat

对于上下文切换要结合CPU用率来看,假如CPU用满足上述分布,很多的上下文切换也是可以同意的。

常见的监视工具备:vmstat, TOP,dstat和mpstat.

# vmstat 1

procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu----

r b swpd free buff cache si so bi bo in cs us sy id wa

0 0 104300 16800 95328 72200 0 0 5 26 7 14 4 1 95 0

0 0 104300 16800 95328 72200 0 0 0 24 1021 64 1 1 98 0

0 0 104300 16800 95328 72200 0 0 0 0 1009 59 1 1 98 0

r表示运行队列的大小,

b表示因为IO等待而block的线程数目,

in表示中断的数目,

cs表示上下文切换的数目,

us表示用户CPU时间,

sys表示系统CPU时间,

wa表示因为IO等待而是CPU处于idle状况的时间,

id表示CPU处于idle状况的总时间。

dstat可以给出每个设施产生的中断数:

# dstat -cip 1

----total-cpu-usage---- ----interrupts--- ---procs---

usr sys idl wai hiq siq| 15 169 185 |run blk new

6 1 91 2 0 0| 12 0 13 | 0 0 0

1 0 99 0 0 0| 0 0 6 | 0 0 0

0 0 100 0 0 0| 18 0 2 | 0 0 0

0 0 100 0 0 0| 0 0 3 | 0 0 0

大家可以看到这里有3个设施号15,169和185.设施名和设施号的关系大家可以参考文件/proc/interrupts,这里185代表网卡eth1.

下载地址