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列的值。
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 性能监控分析以及调优(sar)
- Linux 性能分析以及调优介绍 uptime vmstat iostat
- linux 性能监控分析以及调优(iostat)
- linux 性能监控分析以及调优(top)
- 《高性能Linux服务器构建实战运维监控、性能调优与集群应用》 10.6 Linux下常见的性能分析工具 vmstat
- linux 性能监控分析以及调优(free , uptime)
- linux 性能监控分析以及调优(netstat, ps , strace , lsof )
- LINUX下性能监控工具NMON以及日志分析ANALYSER
- linux系统性能调优第一步——性能分析(vmstat)
- Linux 性能分析以及调优介绍
- linux系统性能调优第一步——性能分析(vmstat)
- linux系统性能调优第一步——性能分析(vmstat)
- linux系统性能调优第一步——性能分析(vmstat)
- linux系统性能调优第一步——性能分析(vmstat)
- Linux CPU性能分析与监控——vmstat、top
- linux下性能监控工具Nmon的使用以及通过nmon_analyse生成分析报表
- Linux vmstat命令--监控CPU 性能分析
- Linux性能测试工具-UnixBench--安装以及结果分析
- linux 下查看系统资源和负载,以及性能监控
- Linux下Java线程详细监控和其dump的分析使用----分析Java性能瓶颈