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를 수행하는데 소요된 시간(초)
'Linux > 모니터링' 카테고리의 다른 글
Sysstat 설치 (0) | 2013.04.06 |
---|---|
top 명령 (0) | 2013.03.31 |
free 명령 (0) | 2013.03.31 |