这篇文章将为大家详细讲解有关Linux命令中vmstat怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。vm开发云主机域名stat是Virtual Meomory Statistics(虚拟内存统计)的缩写, 是实时系统监控工具;用来获得有关进程、虚存、页面交换空间及CPU活动的信息。这些信息反映了系统的负载情况;这个命令Linux/Unix都支持,而且相比top,通过该命令可以看到整个机器的CPU,内存,IO的使用情况,而不是单单看到各个进程的CPU使用率和内存使用率(使用场景不一样)。
1
、命令格式
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]
2
、命令参数
-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版本信息。
3
、使用示例
[root@seaing ~]#
vmstat
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 15700892 181712 385304 0
0 4 11
30 26 0 0
100 0
0[root@seaing ~]#
vmstat -a
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 15700892 272456
344768 0 0
4 11 30
26 0 0 100
0 0
—
每2秒采集一次服务器状态,共采集6次
[root@seaing ~]#
vmstat 2 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 15701016 181712
385308 0 0
4 11 32
26 0 0 100
0 0
0
0 0 15701016 181712
385308 0 0
0 0 1015 72
0 0 100 0 0
0
0 0 15701016 181712
385308 0 0
0 0 1016 71
0 0 100 0 0
0
0 0 15701016 181712
385308 0 0
0 14 1016 76
0 0 100 0 0
0
0 0 15701008 181712
385308 0 0
0 0 1014 73
0 0 100 0 0
0
0 0 15701008 181712
385308 0 0
0 0 1019 70
0 0 100 0 0
说明:
类别
项目
含义
说明
Procs
(进程)
r等待执行的任务数展示了正在执行和等待cpu资源的任务个数。当这个值超过了cpu个数,就会出现cpu瓶颈。这个也和top的负载有关系,一般负载超过了3就比较高,超过了5就高,超过了10就不正常了,服务器的状态很危险。top的负载类似每秒的运行队列。如果运行队列过大,表示你的CPU很繁忙,一般会造成CPU使用率很高。B等待IO的进程数量也可以理解为阻塞的进程数
Memory(
内存
)
swpd正在使用虚拟的内存大小,单位k虚拟内存已使用的大小,如果大于0,表示你的机器物理内存不足了,如果不是程序内存泄露的原因,那么你该升级内存了或者把耗内存的任务迁移到其他机器。free空闲物理内存的大小buff已用的buff大小,对块设备的读写进行缓冲cache已用的cache大小,文件系统的cachecache直接用来记忆我们打开的文件,给文件做缓冲 (这里是Linux/Unix的聪明之处,把空闲的物理内存的一部分拿来做文件和目录的缓存,是为了提高程序执行的性能,当程序使用内存时,buffer/cached会很快地被使用。)
Swap
si每秒从磁盘读入虚拟内存的大小(单位:kb/s)如果这个值大于0,表示物理内存不够用或者内存泄露了,要查找耗内存进程解决掉。so每秒虚拟内存写入磁盘的大小如果这个值大于0,同上
IO
bi每秒读取的块数(读磁盘)这里的块设备是指系统上所有的磁盘和其他块设备,默认块大小是1024bytebo每秒写入的块数(写磁盘)例如我们读取文件,bo就要大于0。bi和bo一般都要接近0,不然就是IO过于频繁,需要调整。
system
in每秒CPU的中断数,包括时钟中断这两个值越大,会看到由内核消耗的cpu时间会越多上下文切换次数过多表示你的CPU大部分浪费在上下文切换,导致CPU干正经事的时间少了,CPU没有充分利用,是不可取的。cs每秒上下文切换数
CPU
(以百分比表示)
us用户进程执行消耗cpu时间(user time)us的值比较高时,说明用户进程消耗的cpu时间多,但是如果长期超过50%的使用,那么我们就该考虑优化程序算法或其他措施了sy系统进程消耗cpu时间(system time)sys的值过高时,说明系统内核消耗的cpu资源多,这个不是良性的表现,我们应该检查原因。id空闲时间(包括IO等待时间)一般来说,id + us + sy = 100,一般我认为id是空闲CPU使用率,us是用户CPU使用率,sy是系统CPU使用率。wa等待IO时间wa过高时,说明io等待比较严重,这可能是由于磁盘大量随机访问造成的,也有可能是磁盘的带宽出现瓶颈。
—
显示磁盘相关统计信息
[root@seaing ~]#
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 19755 13057
834627 82098 488536 207361
5567304 207387 0
161
sdb 941 2526
5713 361 842
70921 143526 2720
0 0
sdc 449 191
2711 75 0
0 0 0
0 0
sdd 237174 194 1896535 22173
1874 233855 1885832 328146 0
24
sde 868 1757
4251 277 760
71240 144000 3584
0 0
sdf 414 101
1711 34 0
0 0 0
0 0
sdg 22910 101
181679 4143 189
22314 180024 32323
0 4
sdh 877 1748
4251 84 623
71377 144000 65594
0 0
sdi 418 95
1695 47 0
0 0 0
0 0
sdj 22417 95
177687 2323 192
22797 183912 79565
0 3
disk- ————reads———— ————writes———– —–IO——
total merged sectors ms
total merged sectors ms cur
sec
sdk 881 2145
4879 204 615
70984 143204 65317
0 0
sdl 414 101
1711 30 0
0 0 0
0 0
sdm 22413 101
177703 4086 186
21814 176000 75456
0 4
dm-0 30821 0
829946 324147 695909 0 5567272
681182 0 161
dm-1 112 0
896 905 0
0 0 0
0 0
sr0 0 0
0 0
0 0 0
0 0 0
md0 0 0
0 0 0
0 0 0
0 0
loop0 0 0
0 0 0
0 0 0
0 0
loop1 0 0
0 0 0
0 0 0
0 0
loop2 0 0
0 0 0
0 0 0
0 0
loop3 0 0
0 0 0
0 0 0
0 0
loop4 0 0
0 0 0
0 0 0
0 0
loop5 0 0
0 0 0
0 0 0
0 0
loop6 0 0
0 0 0
0 0 0
0 0
loop7 0 0
0 0 0
0 0 0
0 0
活动:慈云数据爆款香港服务器,CTG+CN2高速带宽、快速稳定、平均延迟10+ms 速度快,免备案,每月仅需19元!! 点击查看
—
查看分区的资源使用情况
[root@seaing ~]#
vmstat -p /dev/sda1
sda1 reads read sectors
writes requested writes
124 2309 9 32–
—
以M为单位显示所有情况
[root@seaing ~]#
vmstat -S m
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 16077
186 394 0
0 4 11
31 26 0 0
100 0
0
—
显示vmstat版本的信息
[root@seaing ~]#
vmstat –V
procps version 3.2.7
—
显示内存相关统计信息及多种系统活动数量
[root@seaing ~]#
vmstat -s
16426356 total memory
725216 used memory
344788 active memory
272460 inactive memory
15701140 free memory
181712 buffer memory
385320 swap cache
18481144 total swap
0 used swap
18481144 free swap
4478 non-nice user cpu ticks
2105 nice user cpu ticks
11814 system cpu ticks
38902423 idle cpu ticks
14495 IO-wait cpu ticks
13407 IRQ cpu ticks
4756 softirq cpu ticks
0 stolen cpu ticks
1654066 pages paged in
4289217 pages paged out
0 pages swapped in
0 pages swapped out
99503472 interrupts
10117715 CPU context switches
1508999388 boot time
8617 forks
说明:
non-nice user cpu ticks 自系统启动以来,CPU在用户态下运行非nice进程的时间,单位为jiffies user
nice user cpu ticks 自系统启动以来,CPU在用户态下运行nice进程的时间,单位为jiffies nice
system cpu ticks 自系统启动以来,CPU处于系统状态的时间,单位为jiffies sys
idle cpu ticks 自系统启动以来,CPU处于闲置状态的时间,单位为jiffies idle
IO-wait cpu ticks 自系统启动以来,CPU处理IO中断的时间,单位为jiffies iowait
IRQ cpu ticks 自系统启动以来,CPU处理硬中断的时间,单位为jiffies irq
softirg cpu ticks 自系统启动以来,CPU处理软中断的时间,单位为jiffies Softirq
interrupts 自系统启动以来,发生的所有的中断的次数目 Intr
CPU context switches 自系统启动以来,发生的上下文交换的次数 Ctxt
boot t
本文从转载,原作者保留一切权利,若侵权请联系删除。
《Linux命令中vmstat怎么用》来自互联网同行内容,若有侵权,请联系我们删除!
还没有评论,来说两句吧...