vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况。相比top,使用vmstat可以看到整个机器的CPU,内存,IO的使用情况,而不是单单看到各个进程的CPU使用率和内存使用率。
一般vmstat工具的使用是通过两个数字参数来完成的,第一个参数是采样的时间间隔数,单位是秒,第二个参数是采样的次数,如:
[root@localhost ~]# vmstat 2 1
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 0 393516 83536 444104 160 0 0 28 65 35 0 5 94 1 0
2表示每隔两秒采集一次服务器状态,1表示只采集一次。
实际应用中,一般会在一段时间内一直监控,不指定第二个参数即可。不想监控直接结束vmstat就行。例如:
[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
0 0 0 393888 83556 444108 159 0 0 28 65 35 0 5 94 1 0
0 0 0 393880 83556 444108 0 0 0 0 6 10 0 0 100 0 0
0 0 0 393880 83556 444108 0 0 0 0 5 8 0 0 100 0 0
0 0 0 393880 83556 444108 56 0 0 0 10 12 0 0 100 0 0
0 0 0 393880 83556 444108 0 0 0 0 5 9 0 0 100 0 0
参数含义:
r:表示运可运行队列的线程数,这些线程都是可运行状态,只不过 CPU 暂时不可用。
b:表示阻塞的进程。
swpd:已使用的SWAP空间大小,单位KB。
free:可用的物理内存的大小,单位KB。
buff:物理内存用来缓存读写操作的buffer大小,单位KB。
cache:物理内存用来缓存进程地址空间的cache大小,单位KB。
si:每秒从SWQP读取到RAM(swap in)的大小,单位为KB。
so:数据从RAM写到SWAP(swap out)的大小,单位为KB。
bi:磁盘块从文件系统或SWAP读取到RAM(blocks in)的大小。单位:块/每秒,默认块大小是1024byte。
bo:磁盘块从RAM写到文件系统或SWAP(blocks out)的大小,单位为:块/每秒。
in:每秒CPU的中断次数,包括时钟中断。
cs:每秒上下文切换次数。
us:用户CPU时间(user time),
sy:系统CPU时间(system time)。
id:空闲CPU时间。一般来说,id+us+sy=100,一般认为id是空闲CPU使用率,us是用户CPU使用率,sy是系统CPU使用率。
wa:等待IO时间
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/25744374/viewspace-750687/ ,如需转载,请注明出处,否则将追究法律责任。