linux常用系统监控命令,Linux下常用系统监控命令—vmstat

一、衡量的性能指标

衡量CPU性能的指标一般包括下面几个部分:

1、用户使用cpu的情况

(1)cpu运行常规用户进程

(2)cpu运行niced process

(3)cpu运行实时进程

2、系统使用cpu情况

(1)用于I/O管理:中断和驱动

(2)用于内存管理:页面交换

(3)用户进程管理:进程开始和上下文切换。

3、WIO:用户进程等待磁盘I/O而使CPU处于空闲状态的比率。

4、cpu的空闲率,除了上面的WIO以外的空闲时间。

5、cpu用户上下文交换的比率

6、nice

7、real-time

8、运行进程队列的长度

9、平均负载

二、linux常用监控cpu整体性能的工具------vmstat

功能:报告关于内核线程、虚拟内存、磁盘、陷阱和cpu活动的统计信息。

参数详解:

-f 显示系统启动后的派生数目。

-i 显示从系统启动后每隔设备造成的终端数目。

-I 用新的输出栏显示I/O定向视图,p在标题kthr下,栏fi和fo在标题页面下,而不是栏下;re和cy在页标题中。

-vs 显示所有可用的vmm(运行各种虚拟机的OS)统计信息

-t 显示vmstat的每一输出行旁边的时间戳记。时间戳记按照HH:MM:SS格式显示。

范例:

1、vmstat 显示引导后的统计信息摘要

2、vmstat 2 5

显示2秒时间间隔的5个摘要,第一次摘要包含引导后的时间统计信息

3、vmstat scdisk13 scdisk14

显示引导后包括逻辑磁盘scdisk13和scdisk14的统计信息摘要

4、vmstat -f 显示派生统计信息

5、vmstat -s 显示各事件的计数

6、vmstat -t 显示每一输出栏旁边的时间戳记

7、vmstat -I 要以另一套输出栏显示新的I/O定向视图

8、vmstat -vs 显示所有可用的vmm统计信息

各项意义:

vmstat 1 10

a4c26d1e5885305701be709a3d33442f.png

【procs】

r:在运行队列中等待的进程数

ready

b:在等待io的进程数

w:可进入运行队列但被替换的进程

【memory】

swpd:虚拟内存使用情况,单位KB。

swap:现时可用的交换内存,单位KB

free:空闲的内存,单位KB

buff:被用来做为缓存的内存数,单位KB

【swap】

si:从磁盘交换到内存的交换页数量,单位:KB/秒

so:从内存交换到磁盘的交换页数量,单位:KB/秒

【io】

bi:发送到块设备的块数,单位:块/秒

bo:从块设备接收到的块数,单位:块/秒

【system】

in:每秒中断书,包括时钟中断

cs:每秒的环境(上下文)切换次数

us:cpu用户使用时间百分比

sy:cpu系统使用时间百分比

id:cpu空闲时间百分比

wa:IO等待消耗的cpu时间百分比

分析:

(1)若连续

r>us,表示系统现在运行比较慢,有多数的进程在等待cpu。造成系统中进行运行过慢。

(2)若 r>4sy,则系统面临着cpu短缺的问题,或者是cpu速率过低。

(3)若经常 r>4 &

id<40,表示cpu的负荷很重。

(4)si,so值越大,会看到由内核消耗的cpu时间会越大。

(5)若swap(si和so)值比较高,并且free比较少,有可能是内存不足。

(6)若有过多的上下文切换(cs)和disk block从RAM中被读入(bo),就有可能导致cpu使用过高。

(7)sy的值高时,说明系统内核消耗的cpu资源多

(8)us的值比较高时,说明用户进程消耗的cpu时间多,但是如果长期超50%的使用,那么我们就该考虑优化程序算法或者进行加速。

(9)id持续为0并且sy=2us,系统则面临着cpu资源的短缺。

(10)wa>25%,表明磁盘子系统可能没有被正确平衡,或可能是磁盘工作负荷很重的结果。

如果再一个单用户系统中,us+sy>90%,我们就不认为系统的cpu是有瓶颈的

如果在一个多用户系统中,us+sy>80%,我们就认为系统的cpu是有瓶颈的。其中的进程将要花时间在运行队列中等待。响应时间和吞吐量会受损害。

(11)wa>40%表明磁盘io没有也许存在不合理的平衡,或者对磁盘操作比较频繁

(12)wa值高时,说明IO等待比较严重,这可能由于磁盘大量作随机访问造成,也有可能磁盘出现瓶颈(块操作)

结论:只是一个I/O瓶颈。

解决办法:

当发生以上问题的时候请先调整应用程序对CPU的占用情况.使得应用程序能够更有效的使用CPU.同时可以考虑增加更多的CPU. 关于CPU的使用情况还可以结合mpstat, ps aux top prstat –a等等一些相应的命令来综合考虑关于具体的CPU的使用情况,和那些进程在占用大量的CPU时间.一般情况下,应用程序的问题会比较大一些.比如一些SQL语句不合理等等都会造成这样的现象.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值