documentation 여기서 설명하는 것 이상으로 유용한 command 및 nmon에서 출력하는 정보에 대한 내용이 써져 있으니 궁금하면 찾아보자.
virtual memory statsitc reporter의 약자다. memory, paging, process, I/O, CPU, disk와 관련된 통계를 알려주는 command다.
iostat이랑 비슷하게, 맨 처음 report부분은 마지막 reboot 이후 현재까지의 통계에 대한 평균을 먼저 보여준다. 이후에는 마지막 측정과 현재 시간 사이의 통계에 대해 보여준다.
sysstat
을 필요로 한다. Ubuntu에서는 밑과 같이 해서 설치
$ sudo apt-get install sysstat
vmstat [options][delay [count]]
delay
는 측정 사이사이의 간격을 말한다. delay
가 없는 경우, 1번만, 아까 말한 재부팅 이후 현재까지의 통계의 평균 딱 보여주고 종료된다.
count
는 몇번을 이 간격으로 측정할지에 대해서다. delay
가 있는데 count
가 없으면 count
는 '무한'으로 취급한다. 즉 계속 측정을 해당 주기로 한다.
완전 기본형으로 실행되면 다음과 같다.
$ 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 15144696 14896 643608 0 0 3 2 3 26 0 0 100 0 0
$ 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 15148116 656360 171992 0 0 3 2 3 26 0 0 100 0 0
$ vmstat -f
3455 forks
$ sudo vmstat -m
vmstat: your kernel does not support slabinfo or your permissions are insufficient
$ vmstat -s
16342160 K total memory
534960 K used memory
172124 K active memory
657060 K inactive memory
15148292 K free memory
15216 K buffer memory
643692 K swap cache
4194304 K total swap
0 K used swap
4194304 K free swap
2989 non-nice user cpu ticks
0 nice user cpu ticks
2268 system cpu ticks
12288349 idle cpu ticks
482 IO-wait cpu ticks
0 IRQ cpu ticks
236 softirq cpu ticks
0 stolen cpu ticks
304618 pages paged in
221384 pages paged out
0 pages swapped in
0 pages swapped out
319445 interrupts
3168684 CPU context switches
1702722641 boot time
3467 forks
$ 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
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
sda 1116 403 148226 259 0 0 0 0 0 0
disk- ------------reads------------ ------------writes----------- -----IO------
total merged sectors ms total merged sectors ms cur sec
sdb 102 0 4456 10 2 0 8 2 0 0
sdc 5638 1678 456426 1594 6164 6276 443600 16245 0 12
$ vmstat -t 2 5
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- -----timestamp-----
r b swpd free buff cache si so bi bo in cs us sy id wa st KST
0 0 0 15148896 15304 643708 0 0 2 2 3 26 0 0 100 0 0 2023-12-16 22:30:04
0 0 0 15148896 15304 643708 0 0 0 94 14 273 0 0 100 0 0 2023-12-16 22:30:06
0 0 0 15148896 15312 643708 0 0 0 18 15 274 0 0 100 0 0 2023-12-16 22:30:08
0 0 0 15148896 15312 643708 0 0 0 0 11 263 0 0 100 0 0 2023-12-16 22:30:10
0 0 0 15148896 15312 643708 0 0 0 0 12 266 0 0 100 0 0 2023-12-16 22:30:12
$ vmstat -at 2 5
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- -----timestamp-----
r b swpd free inact active si so bi bo in cs us sy id wa st KST
0 0 0 15147628 656304 172268 0 0 2 2 3 26 0 0 100 0 0 2023-12-16 22:31:16
0 0 0 15147628 656564 172268 0 0 0 0 12 270 0 0 100 0 0 2023-12-16 22:31:18
0 0 0 15147628 656564 172268 0 0 0 0 10 259 0 0 100 0 0 2023-12-16 22:31:20
0 0 0 15147376 656628 172276 0 0 0 12 15 274 0 0 100 0 0 2023-12-16 22:31:22
0 0 0 15147376 656628 172276 0 0 0 0 11 262 0 0 100 0 0 2023-12-16 22:31:24
unit을 바꿀 때 사용이 된다.
밑의 M은, 기본 출력을 하되, MB 단위로 이를 출력하겠다는 것을 의미.
$ vmstat -S M 2 5
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 14791 15 628 0 0 2 2 3 26 0 0 100 0 0
0 0 0 14791 15 628 0 0 0 0 11 260 0 0 100 0 0
0 0 0 14791 15 628 0 0 0 14 14 272 0 0 100 0 0
0 0 0 14791 15 628 0 0 0 0 11 262 0 0 100 0 0
0 0 0 14791 15 628 0 0 0 0 11 266 0 0 100 0 0
-d
option의 경우 header이 여러번 나온걸 볼 수 있을 것이다. 특정 줄 이상이면 여러번 나오는 것인데, 이러지 않도록 설정하는 것이다.~$ vmstat -dn
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
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
sda 1116 403 148226 259 0 0 0 0 0 0
sdb 102 0 4456 10 2 0 8 2 0 0
sdc 5638 1678 456426 1594 6513 6359 447528 16573 0 12