常用数据库监控工具

一、vmstat

vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况。这个命令是我查看Linux/Unix最喜爱的命令,一个是Linux/Unix都支持,二是相比top,我可以看到整个机器的CPU,内存,IO的使用情况,而不是单单看到各个进程的CPU使用率和内存使用率(使用场景不一样)。

一般vmstat工具的使用是通过两个数字参数来完成的,第一个参数是采样的时间间隔,单位是秒,第二个参数是采样的次数,如:

[root@localhost ~]# vmstat 2 10
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 2  0 622308 128280  40788 290364   13   11    25    26    6    6 20  1 77  1  0
 0  0 622308 128188  40788 290396    0    0     0     0 2331 4918 14  2 84  0  0
 0  0 622308 128092  40788 290396    0    0     0     0 2461 5136 12  1 87  0  0
 1  0 622308 128156  40788 290396    0    0     0     0 2712 6921 24  4 73  0  0
 1  0 622308 128156  40804 290400    0    0     0   104 2355 5201  4  2 94  0  0
 0  0 622308 128156  40804 290400    0    0     0     0 2591 5198 13  1 86  0  0
 0  0 622308 128188  40804 290368    0    0     0     0 2922 7131 27  4 69  0  0
 1  0 622308 128188  40804 290368    0    0     0     0 2580 5234 11  2 88  0  0
 2  0 622308 128188  40804 290368    0    0     0     0 2466 5979 10  2 88  0  0
 0  0 622308 128220  40804 290368    0    0     0     0 2704 5998 25  3 72  0  0

2表示每隔两秒采集一次服务器状态,10表示只采集10次。

[root@localhost ~]# vmstat 2
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 5  0 622308 133432  41368 291104   13   11    25    26    6    6 20  1 77  1  0
 0  0 622308 133432  41368 291104    0    0     0     0 2387 5193  4  1 95  0  0
 0  0 622308 135696  41368 291060    0    0     0     0 2918 7103 32  4 64  0  0
 0  0 622308 135664  41368 291060    0    0     0     0 2273 5072  4  2 94  0  0

这表示vmstat每2秒采集数据,一直采集,直到结束程序,这里采集了4次数据我就结束了程序。

好了,命令介绍完毕,现在开始实战讲解每个参数的意思。

1)procs
a.r列表示运行和等待CPU时间片的进程数,这个值如果长期大于系统CPU个数,就说明CPU资源不足,可以考虑增加CPU;
b.b列表示在等待资源的进程数,比如正在等待I/O或者内存交换等。

2)memory
a.swpd列表示切换到内存交换区的内存数量(以KB为单位)。如果swpd的值不为0或者比较大,而且si、so的值长期为0,那么这种情况一般不用担心,不会影响系统性能;
b.free列表示当前空闲的物理内存数量(以KB为单位);
c.buff列表示buffers cache的内存数量,一般对块设备的读写才需要缓冲;
d.cache列表示page cached的内存数量,一般作文件系统的cached,频繁访问的文件都会被cached。如果cached值较大,就说明cached文件数较多。如果此时IO中的bi比较小,就说明文件系统效率比较好。

3)swap
a.si列表示由磁盘调入内存,也就是内存进入内存交换区的数量;
b.so列表示由内存调入磁盘,也就是内存交换区进入内存的数量
c.一般情况下,si、so的值都为0,如果si、so的值长期不为0,则表示系统内存不足,需要考虑是否增加系统内存。

4)IO
a.bi列表示从块设备读入的数据总量(即读磁盘,单位KB/秒)
b.bo列表示写入到块设备的数据总量(即写磁盘,单位KB/秒)
这里设置的bi+bo参考值为1000,如果超过1000,而且wa值比较大,则表示系统磁盘IO性能瓶颈。

5)system
a.in列表示在某一时间间隔中观察到的每秒设备中断数;
b.cs列表示每秒产生的上下文切换次数。
上面这两个值越大,会看到内核消耗的CPU时间就越多。

6)CPU

a.us列显示了用户进程消耗CPU的时间百分比。us的值比较高时,说明用户进程消耗的CPU时间多,如果长期大于50%,需要考虑优化程序啥的。
b.sy列显示了内核进程消耗CPU的时间百分比。sy的值比较高时,就说明内核消耗的CPU时间多;如果us+sy超过80%,就说明CPU的资源存在不足。
c.id列显示了CPU处在空闲状态的时间百分比;
d.wa列表示IO等待所占的CPU时间百分比。wa值越高,说明IO等待越严重。如果wa值超过20%,说明IO等待严重。
e.st列一般不关注,虚拟机占用的时间百分比。 (Linux 2.6.11)








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值