Linux命令之vmstat

功能说明

vmstat 是Virtual Meomory Statistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存、进程、CPU活动进行监控。他是对系统的整体 情况进行统计,不足之处是无法对某个进程进行深入分析。vmstat 工具提供了一种低开销的系统性能观察方式。因为 vmstat 本身就是低开销工具,在非常高负荷的服务器上,你需要查看并监控系统的健康情况,在控制窗口还是能够使用vmstat 输出结果。

语法

vmstat [-a] [-n] [-S unit] [delay [ count]]

vmstat [-s] [-n] [-S unit]

vmstat [-m] [-n] [delay [ count]]

vmstat [-d] [-n] [delay [ count]]

vmstat [-p disk partition] [-n] [delay [ count]]

vmstat [-f]

vmstat [-V]


参数

-a:显示活跃和非活跃内存

-f:显示从系统启动至今的fork数量 。

-m:显示slabinfo

-n:只在开始时显示一次各字段名称。

-s:显示内存相关统计信息及多种系统活动数量。

delay:刷新时间间隔。如果不指定,只显示一条结果。

count:刷新次数。如果不指定刷新次数,但指定了刷新时间间隔,这时刷新次数为无穷。

-d:显示磁盘相关统计信息。

-p:显示指定磁盘分区统计信息

-S:使用指定单位显示。参数有 k 、K 、m 、M ,分别代表1000、1024、1000000、1048576字节(byte)。默认单位为K(1024 bytes)

-V:显示vmstat版本信息。


实例1

显示虚拟内存使用情况,表示在5秒时间内进行6次采样

[root@localhost ~]# vmstat 5 6

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 3029876 199616 690980 0 0 0 2 3 2 0 0 100 0 0

0 0 0 3029752 199616 690980 0 0 0 41 1009 39 0 0 100 0 0

0 0 0 3029752 199616 690980 0 0 0 3 1004 36 0 0 100 0 0

0 0 0 3029752 199616 690980 0 0 0 4 1004 36 0 0 100 0 0

0 0 0 3029752 199616 690980 0 0 0 6 1003 33 0 0 100 0 0

0 0 0 3029752 199616 690980 0 0 0 5 1003 33 0 0 100 0 0 

说明:

字段说明:

Procs(进程):

r: 运行队列中进程数量

b: 等待IO的进程数量

Memory(内存):

swpd: 使用虚拟内存大小

free: 可用内存大小

buff: 用作缓冲的内存大小

cache: 用作缓存的内存大小

Swap:

si: 每秒从交换区写到内存的大小

so: 每秒写入交换区的内存大小

IO:(现在的Linux版本块的大小为1024bytes)

bi: 每秒读取的块数

bo: 每秒写入的块数

系统:

in: 每秒中断数,包括时钟中断。

cs: 每秒上下文切换数。

CPU(以百分比表示):

us: 用户进程执行时间(user time)

sy: 系统进程执行时间(system time)

id: 空闲时间(包括IO等待时间),中央处理器的空闲时间 。以百分比表示。

wa: 等待IO时间


备注: 如果 r经常大于 4 ,且id经常少于40,表示cpu的负荷很重。如果pi,po 长期不等于0,表示内存不足。如果disk 经常不等于0, 且 在 b中的队列 大于3, 表示 io性能不好。Linux在具有高稳定性、可靠性的同时,具有很好的可伸缩性和扩展性,能够针对不同的应用和硬件环境调 整,优化出满足当前应用需要的最佳性能。因此企业在维护Linux系统、进行系统调优时,了解系统性能分析工具是至关重要的。


实例2

显示活跃和非活跃内存

[root@localhost ~]# vmstat -a 2 5

procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------

r b swpd free inact active si so bi bo in cs us sy id wa st

0 0 0 3029752 387728 513008 0 0 0 2 3 2 0 0 100 0 0

0 0 0 3029752 387728 513076 0 0 0 0 1005 34 0 0 100 0 0

0 0 0 3029752 387728 513076 0 0 0 22 1004 36 0 0 100 0 0

0 0 0 3029752 387728 513076 0 0 0 0 1004 33 0 0 100 0 0

0 0 0 3029752 387728 513076 0 0 0 0 1003 32 0 0 100 0 0

说明:

使用-a选项显示活跃和非活跃内存时,所显示的内容除增加inact和active外,其他显示内容与例子1相同。

字段说明:

Memory(内存):

inact: 非活跃内存大小(当使用-a选项时显示)

active: 活跃的内存大小(当使用-a选项时显示)


实例3

查看内存使用的详细信息

[root@localhost ~]# vmstat -s

4043760 total memory

1013884 used memory

513012 active memory

387728 inactive memory

3029876 free memory

199616 buffer memory

690980 swap cache

6096656 total swap

0 used swap

6096656 free swap

83587 non-nice user cpu ticks

132 nice user cpu ticks

278599 system cpu ticks

913344692 idle cpu ticks

814550 IO-wait cpu ticks

10547 IRQ cpu ticks

21261 softirq cpu ticks

0 stolen cpu ticks

310215 pages paged in

14254652 pages paged out

0 pages swapped in

0 pages swapped out

288374745 interrupts

146680577 CPU context switches

1351868832 boot time

367291 forks 

说明:

这些信息的分别来自于/proc/meminfo,/proc/stat和/proc/vmstat


实例4

查看磁盘的读/写

[root@localhost ~]# vmstat -d

disk- ------------reads------------ ------------writes----------- -----IO------

total merged sectors ms total merged sectors ms cur sec

ram0 0 0 0 0 0 0 0 0 0 0

ram1 0 0 0 0 0 0 0 0 0 0

ram2 0 0 0 0 0 0 0 0 0 0

ram3 0 0 0 0 0 0 0 0 0 0

ram4 0 0 0 0 0 0 0 0 0 0

ram5 0 0 0 0 0 0 0 0 0 0

ram6 0 0 0 0 0 0 0 0 0 0

ram7 0 0 0 0 0 0 0 0 0 0

ram8 0 0 0 0 0 0 0 0 0 0

ram9 0 0 0 0 0 0 0 0 0 0

ram10 0 0 0 0 0 0 0 0 0 0

ram11 0 0 0 0 0 0 0 0 0 0

ram12 0 0 0 0 0 0 0 0 0 0

ram13 0 0 0 0 0 0 0 0 0 0

ram14 0 0 0 0 0 0 0 0 0 0

ram15 0 0 0 0 0 0 0 0 0 0

sda 33381 6455 615407 63224 2068111 1495416 28508288 15990289 0 10491

hdc 0 0 0 0 0 0 0 0 0 0

fd0 0 0 0 0 0 0 0 0 0 0

md0 0 0 0 0 0 0 0 0 0 0

说明:

这些信息主要来自于/proc/diskstats.

merged:表示一次来自于合并的写/读请求,一般系统会把多个连接/邻近的读/写请求合并到一起来操作


参考:

http://www.cnblogs.com/peida/archive/2012/12/12/2814048.html

光荣之路微信公众号:gloryroadtrain