본문 바로가기

IT/Linux

vmstat 명령어(시스템 리소스 상황 확인 명령어)

vmstat 

 - 시스템의 리소스 상황(CPU, 메모리, I/O)을 모리터링 하는 명령어

 

[root@localhost ~]# vmstat 3 5    <- 3초 간격으로 1줄씩 5개를 출력하라는 의미

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

r  b   swpd    free      buff      cache         si   so         bi    bo        in     cs      us  sy  id wa st

2  0   3380  203780  73100  191448     0    0       42    67      47     78      1   1  96  2  0

0  0   3380  210256  73116  190000     0    0        0   239     295    250    30 18  50  2  0

0  0   3380  210504  73116  189992     0    0        0     0        50    246     1   0  99  0  0

0  0   3380  210512  73128  189988     0    0        0    21       61    227     1   1  95  3  0

0  0   3380  210512  73128  189992     0    0        0    15       54    252     0  0   99  0  0

* 첫 번째 줄은 부팅한 후부터 각 통계치에 대한 평균값을 보여주므로 2번째 줄부터 보면 된다


 procs 필드

  - r : 현재 실행중인 프로세스의 수

  - b : 인터럽트가 불가능한 sleep 상태에 있는 프로세스의 수 (I/O 처리를 하는 동안 블록 처리된 프로

        세스)


 memory 필드

  -swpd : 사용하고 있는 swap 메모리 양

  - free : 사용가능한 메모리 양

  - buff : 버퍼로 사용되고 있는 메모리 양

  - cache : 캐시로 사용되고 있는 메모리 양


 swap 필드

  - si : swap in

  - so : swap out

 (swap out 수치가 0보다 높게 발생하면 메모리가 부족한 것으로 볼 수 있다. 단, free 메모리 수치가 

  높으면 스왑 메모리만 사용하는 것으로 실제 메모리는 여유 있는 것으로 볼 수 있기 때문에 여러가지

  를 종합적으로 보고 판단해야 한다)


 io 필드

  - bi : 초당 블록 디바이스로 보내는 블록 수

  - bo : 초당 블록 디바이스로부터 받은 블록 수


 system 항목

  - in : 초당 인터럽트 되는 양

  - cs : 초당 context switch되는 양


 cpu 항목

  - us : 사용자의 CPU 사용 시간 비율

  - sy : 시스템의 CPU 사용 시간 비율

  - id : idle 휴지기간

(sy 필드 값이 지나치에 높으면 디스크 I/O 문제를 의심해 볼 수 있다 / 시스템 전체의 부하가 높은데 

 id 필드의 값이 일반적으로 10%를 넘는다면 I/O나 메모리에 문제가 있을 가능성이 있다. I/O문제로 

 의심될 경우 iostat 명령어를 통해 세부사항을 확인할 수 있다)

(id필드값이 항상 0이라면 반대로 CPU를 100% 사용하고 있다는 것을 의미하고, 항상 100%를 

 사용하고 있다는 것은 어떤 작업이 계속 축적되고 있으며 CPU가 과부하를 가진다는 것을 의미한다. 

 이때는 top, ps, sar등의 명령어를 사용하여 CPU를 계속 사용하고 있는 프로세스를 찾아 적절하게 

 대응해야 한다)


시스템 이벤트 정보를 표시하는 방법(vmstat -s)

 - vmstat -s 명령을 실행하여 시스템이 마지막으로 부팅된 이후 얼마나 많은 시스템 이벤트가 발생했는지 표시

 [root@dupont ~]# vmstat -s

                                       0  swap ins

                                       0  swap outs

                                       0  pages swapped in

                                       0  pages swapped out

                              234557  total address trans. faults taken

                                98472  page ins

                                   197  page outs

                                 1972  pages paged in

                                     11  pages paged out

                                 2370  total reclaims

                                 2368  reclaims from free list

                                      0  micro  (hat)  faults

                               29399  minor  (as)  faults

                                 1979  major faults

                                 9782  copy-on-write faults

                                19262  zero fill page faults

                                 ...


스와핑 통계를 확인하는 방법(vmstat -s)

 - vmstat -S 명령어로 스와핑 통계를 확인

 [root@dupont ~]# vmstat -S 

 kthr          memory                   page                             disk                       faults

            cpu

  r  b  w    swap  free    si    so    pi    po    fr    de    sr    dd    f0    s1    --    in    sy   

 cs    us    sy    id

  0  0  0  26963 26993   0     0     0      0    0      0     0     0     0     0       0   270  296

 16    1     0    86


장치당 인터럽트를 표시하는 방법(vmstat -i)

 - vmstat -i 명령어로 장치당 인터럽트 수를 확인

 [root@dupont ~]# vmstat -i

 interrupt                     total         rate

 -------------------------------

 clock                     926383          100

 esp0                        20340             3

 zsc0                           293              0

 zsc1                           483              0

 cgsixc0                         27             0

 lec0                           1831             0

 fdc0                               1              0

 bppc0                            0              0

 audiocs0                        0               0

 --------------------------------

 Total                     949358             103