반응형

vmstat는 프로세스, 메모리, 스왑, 입출력, 시스템 및 CPU 활동 상황에 대한 정보를 출력해주는 명령어 입니다.


===========================================================================================

# 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     57628     82104    719004     0      0       99     54     1010     80    1     1   98     0    0

===========================================================================================


위의 정보처럼 기본값 2초의 갱신주기를 가지고 10개의 결과값을 보여줍니다.


procs

   r : 실행을 위해 기다리고 있는 프로세스의 수

   b : 계속 유휴(sleep) 상태인 프로세스의 수

   c : swapped out 되었거나 실행 가능한 프로세스의 수

   

memory

   swpd : 가상메모리로 사용되는 크기(kb)

   free : 여유 메모리의 크기(kb)

   buff : 버퍼에 사용되고 있는 메모리의 크기(kb)

   cache : 페이지 캐쉬에 사용된 메모리의 크기

   

swap

   si : 스왑 인(swapped in : 초당 디스크에서 스왑된) 메모리의 크기

   so : 스왑 아웃(swapped out : 초당 디스크로 스왑되어 나간) 메모리의 크기

   *스왑 아웃 - 물리적 메모리가 부족할 경우 사용되고있는 물리적 메모리를 해제하는것을 의미함

   *스왑 인 - 스왑 아웃된 내용이 다시 필요할 경우 이를 다시 불러오는것을 의미함


io

   bi : 블록 장치에서 받은 초당 블록 수 (block/s)

   bo : 블록 장치에 내보낸 초당 블록 수 (block/s)

   

system

   in : 초당 발생한 인터럽트의 수

   cs : 초당 발생한 문맥 전환 작업의 수

   

cpu

   us : 사용자 코드를 수행하는데 소요된 시간 (이 수치가 높다면 계산을 많이 하고 있다고 생각하면 됨. nice 시간 포함)

   sy : 시스템에 의해 사용 된 시간

          (이 수치가 높으면 프로세스들이 시스템 호출을 또는 I/O를 많이 수행되고 있다고 생각하면 됨. 커널코드를 수행하는데 소요 된 시간)

   id : 유휴 시간

   wa : 입출력 대기

   st : 가상화를 사용하고 있다면 가상머신 CPU의 계산으로 대기 된 시간

   

vmstat는 옵션을 사용할 수 있는데, 각 옵션은 다음과 같습니다.


vmstat [-V] [-n] [delay [count]]

              -V vmstat의 버젼을 보여준다

              -n 주기적으로 헤더를 출력하지 않고 단한번만 헤더 정보를 출력하게 지정한다.

              -a buff와 cache 대신 active와 inactive 메모리 사용량을 출력해준다.

              

              -----------memory-----------                       -----------memory----------

              swpd      free      buff     cache        ====>       swpd     free     inact    active

                    0    55024    85088    719004                             0   54900   616916   263876

                    

              -d 각 영역 별 디스크 사용량을 보여준다.

              -D 전체 디스크 통계를 보여주고, 단 한번만 결과를 출력해준다.

소문자 d 와 대문자 D 의 차이점은 d는 각 디스크별 결과를 제공하지만 D는 전체 디스크의 합이라고 보면 된다.

              -p diskpartition 지정한 디스크 파티션에 대한 통계 정보를 확인 할 수 있다.

              -s 부팅 시작부터 os상에서 수행된 이벤트와 메모리 사용량에대한 통계를 단 한번 출력해준다.

              -m slab에 대한 정보를 출력한다. 이 명령은 delay를 지정하면 지정된 간격으로 결과를 출력하며 -n 옵션 사용 시 결과 내 딱 한 헤더를 출력한다.

              -S unit-size 출력되는 데이터의 단위를 지정할 수 있다. 단위는 k, K, m, M 4가지가 있고,

각각 k:1000, K:1024, m:1000000, M:1048576 으로 나눈 값을 출력해준다.

              delay [count] 결과의 출력 주기를 의미한다. 이 값을 지정하지 않으면 한번만 수행되고 종료된다. 

              

-d 옵션의 추가 설명

=================================================================================================

# 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

sda    37615        19080       1520651        31091     11921      94990       855454     342418         0       24

=================================================================================================


reads

  total : 성공한 모든 읽기 작업 갯수

  merged : 하나의 I/O로 묶은 읽기 작업 갯수

  sectors : 성공적으로 읽은 섹터 갯수

  ms : 읽기 작업을 하는데 소요된 시간(밀리초-ms)

  

writes

  total : 성공한 모든 쓰기 작업 갯수

  merged : 하나의 I/O로 묶은 읽기 작업 갯수

  sectors : 성공적으로 쓴 섹터 갯수

  ms : 쓰기 작업을 하는데 소요된 시간(밀리초-ms)

  

IO

  cur : 현재 수행중인 I/O 갯수

  sec : I/O를 수행하는데 소요된 시간(초)

반응형

+ Recent posts