오래전 이야기/Server

vmstat 설명서

리눅스 엔지니어였던 2008. 9. 15. 16:42

2.5.3. vmstat

시스템 성능에 대한 보다 자세한 정보를 얻고 싶다면, vmstat 명령을 사용해보십시오. vmstat을 사용하여 프로세스, 메모리, 스왑, 입출력, 시스템 및 CPU 활동 상황에 대한 정보를 다음과 같이 한줄로 볼 수 있습니다:

procs                      memory      swap          io     system         cpu
 r  b   swpd   free   buff  cache   si   so    bi    bo   in    cs us sy id wa
 0  0   5276 315000 130744 380184    1    1     2    24   14    50  1  1 47  0
        

첫번째 줄은 프로세스, 메모리, 스왑, 입출력, 시스템 및 CPU 관련 통계인 6 부분으로 나뉘어있습니다. 두번째 줄은 각 항목을 보다 상세하게 구분하여 특정 통계에 대한 데이터를 빠르게 감시할 수 있게 해줍니다.

프로세스 관련 항목:

  • r — CPU 접근 대기 중인 실행 가능 프로세스 수

  • b — 인터럽트 불가능한 수면 상태인 프로세스 수

메모리 관련 항목:

  • swpd — 사용된 가상 메모리 용량

  • free — 여유 메모리 용량

  • buff — 버퍼에 사용된 메모리 용량

  • cache — 페이지 캐시에 사용된 메모리 용량

스왑 관련 항목:

  • si — 디스크에서 스왑된 메모리 용량

  • so — 디스크로 스왑되어 나간 메모리 용량

입출력 관련 항목:

  • bi — 블록 장치로 보내진 블록

  • bo — 블록 장치에서 받아온 블록

시스템 관련 항목:

  • in — 일초당 인터럽트 수

  • cs — 일초당 문맥 전환 작업수

CPU 관련 항목:

  • us — CPU가 사용자 수준 코드를 실행한 시간 (백분율 단위)

  • sy — CPU가 시스템 수준 코드를 실행한 시간 (백분율 단위)

  • id — CPU가 아무런 작업을 수행하지 않은 시간 (백분율)

  • wa — 입출력 대기

vmstat 명령을 아무런 옵션 없이 입력한 경우 한 줄만 출력됩니다. 이 줄에는 시스템이 마지막으로 부팅된 이후 평균값을 보여줍니다.

그러나 시간이 지남에 따라 정보가 변경되므로 대부분의 시스템 관리자는 한줄로 나타난 자료에 의존하지 않습니다. 대신 vmstat는 정해진 간격에 자원 활용량 정보를 반복적으로 보여주는 장점이 있으며, 많은 시스템 관리자 분들은 이 점을 활용할 수 있습니다. 예를 들어 vmstat 1라고 입력하면 매초마다 활용 정보를 새 줄에 표시합니다. 만일 vmstat 1 10이라고 입력하시면 오직 10초 동안 매초마다 정보를 화면에 표시합니다.

숙련된 관리자라면 vmstat를 사용하여 자원 활용 정보 및 성능 관련 문제점을 재빠르게 알아낼 수 있습니다. 그러나 이러한 사항에 대한 보다 자세한 정보를 알아내기 위해서는 보다 심층깊은 자료를 모으고 분석 가능한 도구가 필요합니다.