vmstat is Linux command its basic work is display virtual memory statistics.
Its use for Linux Performance Monitoring.
vmstat by default will display the memory usage (including swap) as shown below.
$ 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 305416 260688 29160 2356920 2 2 4 1 0 0 6 1 92 2 0
vmstat output contains the following fields:
- Procs – r: Total number of processes waiting to run
- Procs – b: Total number of busy processes
- Memory – swpd: Used virtual memory
- Memory – free: Free virtual memory
- Memory – buff: Memory used as buffers
- Memory – cache: Memory used as cache.
- Swap – si: Memory swapped from disk (for every second)
- Swap – so: Memory swapped to disk (for every second)
- IO – bi: Blocks in. i.e blocks received from device (for every second)
- IO – bo: Blocks out. i.e blocks sent to the device (for every second)
- System – in: Interrupts per second
- System – cs: Context switches
- CPU – us, sy, id, wa, st: CPU user time, system time, idle time, wait time
1. vmstat – Display active and inactive memory
By default vmstat doesn’t display this information. Use option -a, to
display active and inactive memory information as shown below.
$ 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 305416 253820 1052680 2688928 2 2 4 1 0 0 6 1 92 2 0
2. vmstat – Display number of forks since last boot
This displays all the fork system calls made by the system since the
last boot. This displays all fork, vfork, and clone system call counts.
$ vmstat -f
81651975 forks
3. vmstat – Execute Every x seconds (for y number of times)
To execute every 2 seconds, do the following. You have to press Ctrl-C to stop this.
$ vmstat 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 537144 182736 6789320 0 0 0 0 1 1 0 0 100 0 0
0 0 0 537004 182736 6789320 0 0 0 0 50 32 0 0 100 0 0
..
To execute every 2 seconds for 10 times, do the following. You don’t
need to press Ctrl-C in this case. After executing 10 times, it will
stop automatically.
$ vmstat 2 10
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 537144 182736 6789320 0 0 0 0 1 1 0 0 100 0 0
0 0 0 537004 182736 6789320 0 0 0 0 50 32 0 0 100 0 0
..
4. vmstat – Display timestamp
When you use vmstat to monitor the memory usage repeately, it would
be nice to see the timestap along with every line item. Use option -t to
display the time stamp as shown below.
$ vmstat -t 1 100
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------ ---timestamp---
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 0 3608728 148368 3898200 0 0 0 0 1 1 0 0 100 0 0 2011-07-09 21:16:28 PDT
0 0 0 3608728 148368 3898200 0 0 0 0 60 15 0 0 100 0 0 2011-07-09 21:16:29 PDT
0 0 0 3608712 148368 3898200 0 0 0 0 32 28 0 0 100 0 0 2011-07-09 21:16:30 PDT
For me, the timestamp option worked in the following version.
$ vmstat -V
procps version 3.2.8
Note: If you use a older version of vmstat, option -t might not be available. In that case, use the method we suggested earlier to display timestamp in vmstat output.
5. vmstat – Display slab info
Use option -m, to display the slab info as shown below.
$ vmstat -m
Cache Num Total Size Pages
fib6_nodes 5 113 32 113
ip6_dst_cache 4 15 256 15
ndisc_cache 1 15 256 15
RAWv6 7 10 768 5
UDPv6 0 0 640 6
tw_sock_TCPv6 0 0 128 30
...
6. vmstat – Display statistics in a table format
Instead of displays the values in the record format, you can display
the output of vmstat in table format using option -s as shown below.
$ vmstat -s
4149928 total memory
3864824 used memory
2606664 active memory
1098180 inactive memory
285104 free memory
19264 buffer memory
2326692 swap cache
4192956 total swap
274872 used swap
3918084 free swap
1032454000 non-nice user cpu ticks
14568 nice user cpu ticks
89482270 system cpu ticks
16674327143 idle cpu ticks
368965706 IO-wait cpu ticks
1180468 IRQ cpu ticks
..
7. vmstat – Display disk statistics
Use option -d to display the disk statistics as shown below. This displays the reads, writes, and I/O statistics of the disk.
$ vmstat -d
disk- ------------reads------------ ------------writes----------- -----IO------
total merged sectors ms total merged sectors ms cur sec
sda 153189971 69093708 2719150864 737822879 329617713 157559204 3965687592 4068577985 0 1102243
sdb 501426305 97099356 2345472425 731613156 419220973 533565961 2661869460 1825174087 0 1510434
sdc 884213459 22078974 513390701 452540172 127474901 8993357 2411187300 2133226954 0 1569758
8. vmstat – Increase the width of the display
The default output without increasing the width is shown below.
$ 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 3608688 148368 3898204 0 0 0 0 1 1 0 0 100 0 0
0 0 0 3608804 148368 3898204 0 0 0 0 72 30 0 0 100 0 0
0 0 0 3608804 148368 3898204 0 0 0 0 60 27 0 0 100 0 0
Use option -w to increase the width of the output columns as shown below. This give better readability.
$ vmstat -w 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 3608712 148368 3898204 0 0 0 0 1 1 0 0 100 0 0
0 0 0 3608712 148368 3898204 0 0 0 0 93 23 0 0 100 0 0
0 0 0 3608696 148368 3898204 0 0 0 0 35 34 0 0 100 0 0
9. vmstat – Display statistics for a partition
To display the disk I/O statistics of a specific disk partition use option -p as shown below.
$ vmstat -p sdb1
sdb1 reads read sectors writes requested writes
501423248 2345417917 419221612 2661885948
10. vmstat – Display in MB
By default vmstat displays the memory information in kb. To disply in MB, use the option “-S m” as shown below.
$ 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 281 288 19 2386 0 0 4 1 0 0 6 1 92 2 0
No comments:
Post a Comment