Linux监控实战-2
2016-02-14 17:52
489 查看
vmstat命令
用法:vmstat 1 --->每个1s打印信息;
vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存 交换情况,IO读写情况。这个命令是我查看Linux/Unix最喜爱的命令,一个是Linux/Unix都支持,二是相比top,我可以看到整个机器的 CPU,内存,IO的使用情况,而不是单单看到各个进程的CPU使用率和内存使用率(使用场景不一样)。
一般vmstat工具的使用是通过两个数字参数来完成的,第一个参数是采样的时间间隔数,单位是秒,第二个参数是采样的次数
作用:
r:表示运行队列,如果改值过大,CPU可能会比较忙,使用率高;
b:阻塞并等待IO的进程数
swpd虚拟内存使用情况
free空闲的内存
buff被用来作为高速缓存
si(从磁盘分页到内存的数量)、so(从内存分页到磁盘的数量)两列,表示内存交换频繁程度,如果数值长期很大,表示内存不够;
bi读磁盘
bo写磁盘
Linux内存管理机制
Linux有自己的内存管理机制,Linux会尽可能的使用内存来提升IO效率;
如果系统的free不够用,达到触发机制后,系统会自动释放cache和buffer的内存供程序使用(cache和bugffer是由内核进行动态管理的)
如果used很多,而cache和buffer所占比率很小,那说明可能内存不够用了。不能单看free的大小来判断。所以你可以简单理解为cache和buffer也是free的一部分。(可用memory=free memory+buggers+cached)
swan是在磁盘上开辟的虚拟内存,所以他的变化有可能导致与IO的交换也会增加;
内存不足的表现:
free memory急剧减少,回收buffer和cache也无济于事,大量使用交换分区(swpd),读写磁盘数量(IO)增多,大量CPU时间用于等待IO(wa)。
建议:memory测试期间保证内存充足,可用内存不少于20%;
好的状态:s0 si趋于0
IO的瓶颈:
IO的瓶颈是现在系统常见的问题,还没有得到良好的解决方案,而且发展也不如CPU和MEM快
好: iowait % < 20%
一般: iowait % = 35%
糟糕:iowait % >=50%
以上数值仅供参考
CPU>wa 过大(参考值,超过20);
system>bi&bo过大(参考值,超过2000)
命令使用场景:
vmstat监控如果US很高,将近100%,就需要使用top命名来看是哪个进程导致,然后在分析进程;
sy很高,可以尝试strace来看系统内核调用情况;
如果io异常,可以尝试使用iostat来看看
iostat(简单了解)
单独执行iostat,显示的结果为从系统开机到当前执行时刻的统计信息;
avg-cpu:总体cpu使用情况统计信息,对于多核cpu,这里为所有cpu的平均值;
Device:各磁盘失败的IO统计信息
tps: 每秒IO次数
kB_read/s:每秒从失败(drive expressed)读取的数据量
kB_wrtn/s:每秒向失败(drive expressed)写入的数据量
kB_read:读取的总数据量
kB_wrtn: 写入的总数据量
iostat -k 5 2
共执行2次,间隔5秒;和 iostat一样(iostat持续打印)
iostat -x 显示更加详细信息 【重点】
rrqm/s:每秒这个设备相关的读取请求有多少被合并(请求相同Block时,请求合并)
wrqm/s:每秒这个设备相关的写入请求有多少被合并;
r/s:每秒读取请求数(rio)
w/s:每秒写入请求数(wio)
resc/s:每秒写扇区数(wsect)
rkB/s:每秒读取的数据量,单位K字节;
avgqu-sz:平均I/O队列长度
await:平均每次设备I/O操作的等待时间(毫秒)
svctm:平均每次设备I/O操作的服务时间(毫秒)svctm越接近于await则说明等待时间少
%util:表示了设备繁忙程度,80%表示设备已经很忙了;
IO瓶颈的症状:
1、%util很高
2、await远大于svctm
3、avgqu-sz 比较大
用法:vmstat 1 --->每个1s打印信息;
vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存 交换情况,IO读写情况。这个命令是我查看Linux/Unix最喜爱的命令,一个是Linux/Unix都支持,二是相比top,我可以看到整个机器的 CPU,内存,IO的使用情况,而不是单单看到各个进程的CPU使用率和内存使用率(使用场景不一样)。
一般vmstat工具的使用是通过两个数字参数来完成的,第一个参数是采样的时间间隔数,单位是秒,第二个参数是采样的次数
作用:
r:表示运行队列,如果改值过大,CPU可能会比较忙,使用率高;
b:阻塞并等待IO的进程数
swpd虚拟内存使用情况
free空闲的内存
buff被用来作为高速缓存
si(从磁盘分页到内存的数量)、so(从内存分页到磁盘的数量)两列,表示内存交换频繁程度,如果数值长期很大,表示内存不够;
bi读磁盘
bo写磁盘
Linux内存管理机制
Linux有自己的内存管理机制,Linux会尽可能的使用内存来提升IO效率;
如果系统的free不够用,达到触发机制后,系统会自动释放cache和buffer的内存供程序使用(cache和bugffer是由内核进行动态管理的)
如果used很多,而cache和buffer所占比率很小,那说明可能内存不够用了。不能单看free的大小来判断。所以你可以简单理解为cache和buffer也是free的一部分。(可用memory=free memory+buggers+cached)
swan是在磁盘上开辟的虚拟内存,所以他的变化有可能导致与IO的交换也会增加;
内存不足的表现:
free memory急剧减少,回收buffer和cache也无济于事,大量使用交换分区(swpd),读写磁盘数量(IO)增多,大量CPU时间用于等待IO(wa)。
建议:memory测试期间保证内存充足,可用内存不少于20%;
好的状态:s0 si趋于0
IO的瓶颈:
IO的瓶颈是现在系统常见的问题,还没有得到良好的解决方案,而且发展也不如CPU和MEM快
好: iowait % < 20%
一般: iowait % = 35%
糟糕:iowait % >=50%
以上数值仅供参考
CPU>wa 过大(参考值,超过20);
system>bi&bo过大(参考值,超过2000)
命令使用场景:
vmstat监控如果US很高,将近100%,就需要使用top命名来看是哪个进程导致,然后在分析进程;
sy很高,可以尝试strace来看系统内核调用情况;
如果io异常,可以尝试使用iostat来看看
iostat(简单了解)
单独执行iostat,显示的结果为从系统开机到当前执行时刻的统计信息;
avg-cpu:总体cpu使用情况统计信息,对于多核cpu,这里为所有cpu的平均值;
Device:各磁盘失败的IO统计信息
tps: 每秒IO次数
kB_read/s:每秒从失败(drive expressed)读取的数据量
kB_wrtn/s:每秒向失败(drive expressed)写入的数据量
kB_read:读取的总数据量
kB_wrtn: 写入的总数据量
iostat -k 5 2
共执行2次,间隔5秒;和 iostat一样(iostat持续打印)
iostat -x 显示更加详细信息 【重点】
rrqm/s:每秒这个设备相关的读取请求有多少被合并(请求相同Block时,请求合并)
wrqm/s:每秒这个设备相关的写入请求有多少被合并;
r/s:每秒读取请求数(rio)
w/s:每秒写入请求数(wio)
resc/s:每秒写扇区数(wsect)
rkB/s:每秒读取的数据量,单位K字节;
avgqu-sz:平均I/O队列长度
await:平均每次设备I/O操作的等待时间(毫秒)
svctm:平均每次设备I/O操作的服务时间(毫秒)svctm越接近于await则说明等待时间少
%util:表示了设备繁忙程度,80%表示设备已经很忙了;
IO瓶颈的症状:
1、%util很高
2、await远大于svctm
3、avgqu-sz 比较大
相关文章推荐
- Linux awk命令
- linux实战(五)----压缩备份文件并删除原文件----实例解析
- linux实战(五)----压缩备份文件并删除原文件----实例解析
- windows和linux服务器互传文件-使用PSCP
- Lab - Install OpenNMS on Kali Linux
- 转:解决centos netstat和ps感染木马
- centos下安装maven
- [转]在CentOS上安装Python
- Linux GCC常用命令
- centos6中安装svn1.8版本
- zabbix Server端在CentOS6.5上的安装过程
- centos设置ssh命令无密码登录
- 查找linux系统下的端口被占用进程的两种方法
- CentOS 6.5 64位下安装MySQL 5.7.11
- linux实战(四)----写入文件----实例解析
- linux实战(四)----写入文件----实例解析
- Maven实战(Maven+Nexus建立私服【Linux系统】)
- Linux / OS X 实用命令
- linux 内核参数 dirty_ratio 和 dirty_background_ratio
- linux *** 添加账号