vmstat命令
功能说明
vmstat命令可以显示包括服务器的CPU使用率,内存使用,虚拟内存交换情况IO读写情况。用法如下:
vmstat [options] [delay [count]] |
常用参数
选项 | 说明 |
-a | 显示活跃和非活跃的内存 |
-f | 显示从系统启动到现在的fork数量 |
-s | 显示内存相关统计信息及多种系统活动数量 |
-n | 只在开始时显示一次标题 |
delay | 刷新间隔时间,如果不指定,只显示一条结果 |
count | 刷新次数,不指定则一直刷新 |
-d | 显示磁盘相关统计信息 |
-p | 显示指定磁盘的分区统计信息 |
-S | 使用指定单位显示 |
示例
每2秒刷新一次,显示2次
[[email protected] ~]# vmstat 2 2 procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 1 0 0 992824 764 724988 0 0 1 2 11 13 0 0 100 0 0 0 0 0 992808 764 724988 0 0 0 0 31 38 0 0 100 0 0 |
参数说明
procs
r列表示运行和等待CPU时间片的进程数,这个值如果长期大于系统CPU的个数,说明CPU不足,需要增加CPU
b列表示在等待资源的进程数,比如正在等待I/O或者内存交换等。
memory
swpd列表示到内存交换区的内存数理(以KB为单位)。如果swpd的值不为0,或者比较大,只要si、so的值长期为0,这种情况下一般不用担心,它不会影响系统性能。
free列表示当前空闲的物理内存数量(以KB为单位)。
buff列表示缓冲区缓存的内存数量,一般对块设备的读写才需要缓冲。
cache列表示页面缓存的内存数量,一般作为文件系统缓存,频繁访问的文件都会被缓存,如果cache值较大,说明缓存的文件数较多,如果此时IO中bi较小,说明文件系统效率比较好。
显示磁盘信息
[[email protected] ~]# vmstat -d disk- ------------reads------------ ------------writes----------- -----IO------ total merged sectors ms total merged sectors ms cur sec sda 5614 676 1570107 89169 61439 20200 1149269 257890 0 142 sr0 11 0 88 6 0 0 0 0 0 0 dm-0 5334 0 1512302 89926 81508 0 1145133 345551 0 141 dm-1 222 0 1776 264 0 0 0 0 0 0 |
显示指定磁盘信息
[[email protected] ~]# vmstat -p /dev/sda1 sda1 reads read sectors writes requested writes 477 53957 136 4136 |
信息主要来自于/proc/diskstats
reads: 来自于这个分区的读的次数。
read sectors: 来自于这个分区的读扇区的次数。
writes: 来自于这个分区的写的次数。
requested writes: 来自于这个分区的写请求次数。
学习自:
高俊峰《循序渐进Linux》
http://www.cnblogs.com/MenAngel/p/5563180.html