Linux性能分析 vmstat基本语法
2017-08-01 13:21
232 查看
vmstat
vmstat 统计虚拟内存信息,可以对操作系统的proc、memory、CPU、IO等信息进行统计以呈现给用户。
根据操作系统的不同,vmstat的输出结果会有不同。大家可根据自己的环境查找相应的学习资料。
我在查找vmstat资料的时候发现,资料讲解的vmstat的输出结果不同:
AIX上的输出结果会有如下几列
kthr memory page faults cpu
Solaris上的输出结果会有如下几列:
procs memory page disk faults cpu
CentOS上的输出结果会有如下几列:
procs memory swap io system cpu
虽然在学习的过程中走了不少弯路,但还是挺有收获的。开始我在测试机上怎么测试也没能显示出page disk faults字段,挺郁闷,后来发现,介绍这几个字段的系统环境是Solaris。
言归正传,学习vmstat,最好是先man一下,然后后到网上查阅资料,学习高人的经验。
我的系统环境是CentOS
1、vmstat所需软件
# uname -a
Linux test02 2.6.18-92.el5PAE #1 SMP Tue Jun 10 19:22:41 EDT 2008 i686 i686 i386 GNU/Linux
# which vmstat
/usr/bin/vmstat
# rpm -qf /usr/bin/vmstat
procps-3.2.7-9.el5
2、vmstat语法
vmstat [-a] [-n] [delay [ count]]
vmstat [-f] [-s] [-m]
vmstat [-S unit]
vmstat [-d]
vmstat [-p disk_partition]
vmstat [-V]
不加参数的情况下,vmstat的输出只有一条数据(显示的结果粘过来上下对应的不是很好)
# 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 15173344 159684 1025204 0 0 0 2 1 1 0 0 100 0 0
这个数据是自系统上次重启之后到现在的平均数值。如果需要额外信息就需要使用参数了。
2.1 参数简介
[-a]
显示 活动(active)和 非活动(inactive)的内存。
# 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 15173344 257432 1125300 0 0 0 2 1 1 0 0 100 0 0
[ -n ]
只显示头信息,不周期性显示。这里没有测试出-n的作用,貌似有和没有,结果都一样。
[ -f ]
显示自开机以来forks的总数,包括fork、vfork和clone system calls,总数和tasks创建的数量是一致的。
# vmstat -f
662900 forks
# vmstat -f
662901 forks
# vmstat -f
662902 forks
# vmstat -f
662903 forks
[ -s ]
显示各种事件计数器表和内存统计信息,这显示不重复。
# vmstat -s
16621896 total memory
1450164 used memory
1126060 active memory
257436 inactive memory
15171732 free memory
159696 buffer memory
1025228 swap cache
10241428 total swap
0 used swap
10241428 free swap
407585 non-nice user cpu ticks
99282 nice user cpu ticks
507104 system cpu ticks
4025968737 idle cpu ticks
3367298 IO-wait cpu ticks
179918 IRQ cpu ticks
70168 softirq cpu ticks
0 stolen cpu ticks
1279463 pages paged in
99068439 pages paged out
0 pages swapped in
0 pages swapped out
840368546 interrupts
505464033 CPU context switches
1296116054 boot time
662891 forks
[ -m ]
显示slabinfo,好像是缓存相关的,对这个完全不懂。可以对比一下/proc/slabinfo的内容。
内容过多,就不粘贴过来了。
[-V]
显示版本信息。
# vmstat -V
procps version 3.2.7
[ -d ]
显示磁盘数据(disk statistics)
# 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 78933 11718 2558111 196860 7323094 17437763 198087270 103643068 0 40409
sr0 0 0 0 0 0 0 0 0 0 0
md0 0 0 0 0 0 0 0 0 0 0
[ -D ]
显示磁盘统计表(disk table)
# vmstat -D
19 disks
3 partitions
78933 total reads
11718 merged reads
2558111 read sectors
196860 milli reading
7323091 writes
17437754 merged writes
198087174 written sectors
103643051 milli writing
0 inprogress IO
40409 milli spent IO
[ -S 单位 ]
k:1000
K:1024 (默认为K)
m:1000000
M:1048576
比较:k和K
# vmstat -S k
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 15536107 163528 1049833 0 0 0 2 1 1 0 0 100 0 0
# vmstat -S K
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 15173840 159696 1025228 0 0 0 2 1 1 0 0 100 0 0
[ -p 分区 ]
显示磁盘分区数据(disk partition statistics )
# vmstat -p /dev/sda1
sda1 reads read sectors writes requested writes
957 1918 19 38
# vmstat -p /dev/sda2
sda2 reads read sectors writes requested writes
88375 2554274 24766385 198131080
# vmstat -p /dev/sda3
sda3 reads read sectors writes requested writes
1268 1439 0 0
[ delay [ count ] ]
delay是间隔,count显示多少次信息。可以和上面的某些参数结合使用。
# vmstat 1 3
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 15171484 159696 1025228 0 0 0 2 1 1 0 0 100 0 0
1 0 0 15171484 159696 1025228 0 0 0 0 1013 77 0 0 100 0 0
0 0 0 15171484 159696 1025228 0 0 0 48 1038 194 0 0 100 0 0
# vmstat 2 4
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 15173344 159696 1025228 0 0 0 2 1 1 0 0 100 0 0
0 0 0 15173344 159696 1025228 0 0 0 52 1037 116 0 0 100 0 0
0 0 0 15173344 159696 1025228 0 0 0 0 1027 109 0 0 100 0 0
0 0 0 15171484 159696 1025228 0 0 0 32 1023 131 0 0 100 0 0
vmstat 1 3 是每1秒显示一次,共显示3次
vmstat 2 4 是每2秒显示一次,共显示4次
持续更新中,后续会有vmstat输出结果解释。
参考资料:
vmstat 统计虚拟内存信息,可以对操作系统的proc、memory、CPU、IO等信息进行统计以呈现给用户。
根据操作系统的不同,vmstat的输出结果会有不同。大家可根据自己的环境查找相应的学习资料。
我在查找vmstat资料的时候发现,资料讲解的vmstat的输出结果不同:
AIX上的输出结果会有如下几列
kthr memory page faults cpu
Solaris上的输出结果会有如下几列:
procs memory page disk faults cpu
CentOS上的输出结果会有如下几列:
procs memory swap io system cpu
虽然在学习的过程中走了不少弯路,但还是挺有收获的。开始我在测试机上怎么测试也没能显示出page disk faults字段,挺郁闷,后来发现,介绍这几个字段的系统环境是Solaris。
言归正传,学习vmstat,最好是先man一下,然后后到网上查阅资料,学习高人的经验。
我的系统环境是CentOS
1、vmstat所需软件
# uname -a
Linux test02 2.6.18-92.el5PAE #1 SMP Tue Jun 10 19:22:41 EDT 2008 i686 i686 i386 GNU/Linux
# which vmstat
/usr/bin/vmstat
# rpm -qf /usr/bin/vmstat
procps-3.2.7-9.el5
2、vmstat语法
vmstat [-a] [-n] [delay [ count]]
vmstat [-f] [-s] [-m]
vmstat [-S unit]
vmstat [-d]
vmstat [-p disk_partition]
vmstat [-V]
不加参数的情况下,vmstat的输出只有一条数据(显示的结果粘过来上下对应的不是很好)
# 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 15173344 159684 1025204 0 0 0 2 1 1 0 0 100 0 0
这个数据是自系统上次重启之后到现在的平均数值。如果需要额外信息就需要使用参数了。
2.1 参数简介
[-a]
显示 活动(active)和 非活动(inactive)的内存。
# 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 15173344 257432 1125300 0 0 0 2 1 1 0 0 100 0 0
[ -n ]
只显示头信息,不周期性显示。这里没有测试出-n的作用,貌似有和没有,结果都一样。
[ -f ]
显示自开机以来forks的总数,包括fork、vfork和clone system calls,总数和tasks创建的数量是一致的。
# vmstat -f
662900 forks
# vmstat -f
662901 forks
# vmstat -f
662902 forks
# vmstat -f
662903 forks
[ -s ]
显示各种事件计数器表和内存统计信息,这显示不重复。
# vmstat -s
16621896 total memory
1450164 used memory
1126060 active memory
257436 inactive memory
15171732 free memory
159696 buffer memory
1025228 swap cache
10241428 total swap
0 used swap
10241428 free swap
407585 non-nice user cpu ticks
99282 nice user cpu ticks
507104 system cpu ticks
4025968737 idle cpu ticks
3367298 IO-wait cpu ticks
179918 IRQ cpu ticks
70168 softirq cpu ticks
0 stolen cpu ticks
1279463 pages paged in
99068439 pages paged out
0 pages swapped in
0 pages swapped out
840368546 interrupts
505464033 CPU context switches
1296116054 boot time
662891 forks
[ -m ]
显示slabinfo,好像是缓存相关的,对这个完全不懂。可以对比一下/proc/slabinfo的内容。
内容过多,就不粘贴过来了。
[-V]
显示版本信息。
# vmstat -V
procps version 3.2.7
[ -d ]
显示磁盘数据(disk statistics)
# 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 78933 11718 2558111 196860 7323094 17437763 198087270 103643068 0 40409
sr0 0 0 0 0 0 0 0 0 0 0
md0 0 0 0 0 0 0 0 0 0 0
[ -D ]
显示磁盘统计表(disk table)
# vmstat -D
19 disks
3 partitions
78933 total reads
11718 merged reads
2558111 read sectors
196860 milli reading
7323091 writes
17437754 merged writes
198087174 written sectors
103643051 milli writing
0 inprogress IO
40409 milli spent IO
[ -S 单位 ]
k:1000
K:1024 (默认为K)
m:1000000
M:1048576
比较:k和K
# vmstat -S k
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 15536107 163528 1049833 0 0 0 2 1 1 0 0 100 0 0
# vmstat -S K
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 15173840 159696 1025228 0 0 0 2 1 1 0 0 100 0 0
[ -p 分区 ]
显示磁盘分区数据(disk partition statistics )
# vmstat -p /dev/sda1
sda1 reads read sectors writes requested writes
957 1918 19 38
# vmstat -p /dev/sda2
sda2 reads read sectors writes requested writes
88375 2554274 24766385 198131080
# vmstat -p /dev/sda3
sda3 reads read sectors writes requested writes
1268 1439 0 0
[ delay [ count ] ]
delay是间隔,count显示多少次信息。可以和上面的某些参数结合使用。
# vmstat 1 3
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 15171484 159696 1025228 0 0 0 2 1 1 0 0 100 0 0
1 0 0 15171484 159696 1025228 0 0 0 0 1013 77 0 0 100 0 0
0 0 0 15171484 159696 1025228 0 0 0 48 1038 194 0 0 100 0 0
# vmstat 2 4
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 15173344 159696 1025228 0 0 0 2 1 1 0 0 100 0 0
0 0 0 15173344 159696 1025228 0 0 0 52 1037 116 0 0 100 0 0
0 0 0 15173344 159696 1025228 0 0 0 0 1027 109 0 0 100 0 0
0 0 0 15171484 159696 1025228 0 0 0 32 1023 131 0 0 100 0 0
vmstat 1 3 是每1秒显示一次,共显示3次
vmstat 2 4 是每2秒显示一次,共显示4次
持续更新中,后续会有vmstat输出结果解释。
参考资料:
相关文章推荐
- Linux 性能分析工具(vmstat,iostat,sar)
- linux下基本性能监控命令和性能分析(vmstat)
- Linux性能测试分析命令_vmstat
- Linux性能分析工具之一vmstat
- Linux性能分析工具(vmstat,iostat,sar)
- Linux性能分析工具(vmstat,iostat,sar)
- vmstat命令之linux性能分析
- linux系统性能调优第一步——性能分析(vmstat)
- linux性能分析命令vmstat
- Linux 性能分析以及调优介绍 uptime vmstat iostat
- linux性能分析工具vmstat
- Linux性能分析top iostat vmstat free
- linux系统性能调优第一步——性能分析(vmstat)
- linux系统性能调优第一步——性能分析(vmstat)
- vmstat命令详解——linux性能分析
- Linux性能分析工具(vmstat,iostat,sar)
- Linux vmstat命令--监控CPU 性能分析
- Linux性能分析 vmstat输出
- linux性能分析工具sar,iostat,vmstat
- Linux CPU性能分析与监控——vmstat、top