查看CPU性能参数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了查看CPU性能参数相关的知识,希望对你有一定的参考价值。

Linux中常用的监控CPU整体性能的工具有

§ mpstat: mpstat 不但能查看所有CPU的平均信息,还能查看指定CPU的信息。 

§ vmstat:只能查看所有CPU的平均信息;查看cpu队列信息; 

§ iostat: 只能查看所有CPU的平均信息。 

§ sar: 与mpstat 一样,不但能查看CPU的平均信息,还能查看指定CPU的信息。 

§ top:显示的信息同ps接近,但是top可以了解到CPU消耗,可以根据用户指定的时间来更新显示。 

mpstat 实时系统监控工具

user 在internal时间段里,用户态的CPU时间(%) ,不包含 nice值为负 进程 dusr/dtotal*100

nice 在internal时间段里,nice值为负进程的CPU时间(%) dnice/dtotal*100

system 在internal时间段里,核心时间(%) dsystem/dtotal*100

iowait 在internal时间段里,硬盘IO等待时间(%) diowait/dtotal*100

irq 在internal时间段里,软中断时间(%) dirq/dtotal*100

soft 在internal时间段里,软中断时间(%) dsoftirq/dtotal*100

idle 在internal时间段里,CPU除去等待磁盘IO操作外的因为任何原因而空闲的时间闲置时间 (%) didle/dtotal*100

intr/s 在internal时间段里,每秒CPU接收的中断的次数 dintr/dtotal*100

CPU总的工作时间=total_cur=user+system+nice+idle+iowait+irq+softirq

total_pre=pre_user+ pre_system+ pre_nice+ pre_idle+ pre_iowait+ pre_irq+ pre_softirq

duser=user_cur – user_pre

dtotal=total_cur-total_pre

vmstat

vmstat -n 3 (每个3秒刷新一次) PROC(ESSES) 

--r: 如果在processes中运行的序列(process r)是连续的大于在系统中的CPU的个数表示系统现在运行比较慢,有多数的进程等待CPU.  如果r的输出数大于系统中可用CPU个数的4倍的话,则系统面临着CPU短缺的问题,或者是CPU的速率过低,系统中有多数的进程在等待CPU,造成系统中进程运行过慢.  SYSTEM  --in:每秒产生的中断次数  --cs:每秒产生的上下文切换次数  上面2个值越大,会看到由内核消耗的CPU时间会越大 

CPU  -us:用户进程消耗的CPU时间百分  us的值比较高时,说明用户进程消耗的CPU时间多,但是如果长期超50%的使用,那么我们就该考虑优化程序算法或者进行加速(比如php/PERL)  -sy:内核进程消耗的CPU时间百分比(sy的值高时,说明系统内核消耗的CPU资源多,这并不是良性表现,我们应该检查原因)  -wa:IO等待消耗的CPU时间百分比  wa的值高时,说明IO等待比较严重,这可能由于磁盘大量作随机访问造成,也有可能磁盘出现瓶颈(块操作)。  -id:CPU处于空闲状态时间百分比,如果空闲时间(cpu id)持续为0并且系统时间(cpu sy)是用户时间的两倍(cpu us) 系统则面临着CPU资源的短缺. 

iostat 磁盘监控

Iostat的简单应用 Iostat磁盘监控

rrqm/s:每秒进行 merge 的读操作数目,即 delta(rmerge)/s 。

wrqm/s:每秒进行 merge 的写操作数目,即 delta(wmerge)/s 。

r/s:每秒完成的读 I/O 设备次数,即 delta(rio)/s 。

w/s: 每秒完成的写 I/O 设备次数,即 delta(wio)/s 。

rsec/s:每秒读扇区数,即 delta(rsect)/s。

wsec/s:每秒写扇区数,即 delta(wsect)/s

rkB/s:每秒读K字节数,是 rsect/s 的一半,因为每扇区大小为512字节。

wkB/s:每秒写K字节数,是 wsect/s 的一半

avgrq-sz:平均每次设备I/O操作的数据大小 (扇区),即delta(rsect+wsect)/delta(rio+wio) 。

avgqu-sz:平均I/O队列长度,即 delta(aveq)/s/1000 (因为aveq的单位为毫秒)。

Await:平均每次设备I/O操作的等待时间 (毫秒),即 delta(ruse+wuse)/delta(rio+wio) 。

Svctm:平均每次设备I/O操作的服务时间 (毫秒),即 delta(use)/delta(rio+wio) 。

%util:一秒中有百分之多少的时间用于 I/O 操作,或者说一秒中有多少时间 I/O 队列是非空的, 即 delta(use)/s/1000 (因为use的单位为毫秒) 。

Iostat cpu 监控

%usr:用户进程消耗的CPU时间百分比。

%nice: 运行正常进程消耗的CPU时间百分比。

%system:系统进程消耗的CPU时间百分比。

%iowait:I/O等待所占CPU时间百分比。

%steal:在内存紧张环境下,pagein强制对不同的页面进行的steal操作。

%idle:CPU空闲状态的时间百分比。

iostat -c 1 2 每一秒输出 输出两条

以上是关于查看CPU性能参数的主要内容,如果未能解决你的问题,请参考以下文章

[Tips] linux下查看电脑的cpu数目

CPU参数指标说明

nginx性能优化

CPU性能指标

如何迅速分析出cpu的性能瓶颈

ps命令