最常见的Linux/Unix监控工具vmstat命令详解
vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率、内存使用、虚拟内存交换情况、IO读写情况。vmstat的优势所在有两点,一个是Linux/Unix都支持,二是相比top,可以看到整个机器的CPU、内存、IO的使用情况、而不是单单看到各个进程的CPU使用率和内存使用率(使用场景不一样)。
一般vmstat工具的使用是通过两个数字参数来完成的,第一个参数是采样的时间间隔数,单位是秒,第二个参数是采样的次数,如:
每两秒刷新一次,总共10次。
也可以设置几秒间隔进行刷新,然后不断监控资源利用,这里截取部分数据。
vmstat命令参数详解:
r 表示运行队列
b 表示阻塞的进程
swpd 虚拟内存已使用的大小
free 空闲的物理内存的大小
buff Linux/Unix系统是用来存储,目录里面有什么内容、权限等的缓存
cache cache直接用来打开的文件,给文件做缓冲
si 每秒从磁盘读入虚拟内存的大小
so 每秒虚拟内存写入磁盘的大小
bi 块设备每秒接收的块数量
这里的块设备是指系统上所有的磁盘和其他块设备,默认块大小是1024byte
bo 块设备每秒发送的块数量
in 每秒CPU的中断次数,包括时间中断
cs 每秒上下文切换次数。
线程的切换,也要进程上下文切换,这个值要越小越好,要考虑调低线程或者进程的数目。
us 用户CPU时间
sy 系统CPU时间
id 空闲 CPU时间,即id + us + sy = 100
wt 等待IO CPU时间。