您的位置:首页 > 运维架构 > Linux

linux 性能监控分析以及调优(vmstat)

2017-02-13 21:19 351 查看
1.linux 监控分析常用命令:

vmstat , iostat ,netstat

sar , top , free , uptime , ps ,strace , lsof

2. vmstat 的使用和说明:

vmstat可以对操作系统的内存信息、进程状态、CPU活动、磁盘等信息进行监控,不足之处是无法对某个进程进行深入分析.



2.1 vmstat命令用法



2.2 vmstat 字段说明

•procs

1)R 列表示运行和等待CPU时间片的进程数,这个值如果长期大于系统CPU个数,说明CPU不足,需要增加CPU。

2)B列表示在等待资源的进程数,比如正在等待I/O或者内存交换等。

•memory

1) swpd列表示切换到内存交换区的内存大小(单位KB),通俗讲就是虚拟内存的大小。如果swap值不为0或者比较大,只要si、so的值长期为0.这种情况一般属于正常情况。

2) free列表示当前空闲的物理内存(单位KB)。

3) Buff列表示buffers cached内存大小,也就是缓冲大小,一般对块设备的读写才需要缓冲。

4) Cache列表示page cached的内存大小,也就是缓存大小,一般作为文件系统进行缓冲,频繁访问的文件都会被缓存,如果cache值非常大说明缓存文件比较多,如果此时io中的bi比较小,说明文件系统效率比较好。

•swap

1) Si列表示由磁盘调入内存,也就是内存进入内存交换区的内存大小。

2) so列表示由内存进入磁盘,也就是有内存交换区进入内存的内存大小。

一般情况下,si、so的值都为0,如果si、so的值长期不为0,则说明系统内存不足,需要增加系统内存。

•io

1) bi列表示由块设备读入数据的总量,即读磁盘,单位kb/s。

2) bo列表示写到块设备数据的总量,即写磁盘,单位kb/s。

如果bi+bo值过大,且wa值较大,则表示系统磁盘IO瓶颈。

•system

1) in列表示某一时间间隔内观测到的每秒设备中断数。

2) cs列表示每秒产生的上下文切换次数。

这2个值越大,则由内核消耗的CPU就越多。

•cpu

1) us列表示用户进程消耗的CPU时间百分比,us值越高,说明用户进程消耗cpu时间越多,如果长期大于50%,则需要考虑优化程序或者算法。

2) sy列表示系统内核进程消耗的CPU时间百分比,一般来说us+sy应该小于80%,如果大于80%,说明可能出现CPU瓶颈。

3) id列表示CPU处在空闲状态的时间百分比。

4) wa列表示等待所占的CPU时间百分比,wa值越高,说明I/O等待越严重,根据经验wa的参考值为20%,如果超过20%,说明I/O等待严重,引起I/O等待的原因可能是磁盘大量随机读写造成的,也可能是磁盘或者此监控器的带宽瓶颈(主要是块操作)造成的。

综上所述,如果评估CPU,需要重点关注procs项的r列值和CPU项的us、sy、wa列的值。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux 性能