vmstat

OS/리눅스 & 유닉스 2012. 2. 9. 17:00

리눅스의 메모리, CPU, IO 등을 확인할 수 있는 유용한 명령어로 vmstat과 sar가 있다.

1. vmstat 5 와 같이 하면 5초 간격으로 모니터링 정보를 갱신하며 보여준다. 해당 항목들의 의미와 점검점은 다음과 같다.

구분
설명
proc r CPU에서 대기 중인 프로세스의 수를 의미한다. 이 값이 증가하거나 r 개수/cpu 개수의 값이 항상 2 이상 나온다면 CPU의 성능을 높여주어야 한다.
b 동작하는 블럭 프로세스의 수
이 값이 높다면 블럭 디바이스의 속도를 높여야 한다.
w swap out되는 프로세서의 수이다.w에 값이 증가하면 메모리가 매우 부족하다는 의미이므로 메모리를 늘려야 한다.
memory(KB) swapd 현대 메모리가 부족해 swap을 사용하고 있는 양을 의미한다. 평소에 이 값이 높다고 해도 free 메모리의 여유가 있다면 메모리가 부족한 것이 아니다. 한번 swap으로 떨어진 프로레스는 메모리의 여유가 생기더라도 CPU에서 다시 호풀하지 않는 한 메모리로 넘어 오지 않는다.
free 현재 사용하지 않고 남아 있는 메모리
buffer 버퍼로 사용되고 있는 메모리 양(퍼포먼스에 관련)
cache 현재 캐시로 사용되고 있는 메모리 양(퍼포먼스에 관련)
swap(KB/s) si 디스크에서 메모리로 swap in 되는 양을 의미하며, swap 공간에 있는 데이터를 실제 메모리로호출한다.
so 메모리에서 디스크로 swap out 되는 양을 의미하며, 이는 곧 메모리가 부족해 실제 메모리에 있는 데이터를 swap 공간으로 보내는 것이다.
io(blocks/s) bi/bo bi는 초당 블럭 디바이스로 보내는 블럭 수이며 bo는 블럭 디바이스로부터 받은 블럭 수이다. 이 두 값이 높다는 것은 I/O 즉 하드디스크에 읽고 쓴느 값이 많다는 것이다.
system in 초당 인터럽트되는 양이다. 여기에는 time clock과 이더넷의 패킷도 포함되는데 즉 인터럽트의 수가 많다면 네트워크 쪽을 점검해볼 필요가 있다.
cs 초당 context switch되는 양이다. CPU에사 실행하는 명령들이 자신의 우선순위보다 높은 명령이 오거나 혹은 자신에게 할당된 CPU 점유 시간이 만료되면 우선순위에서 밀리게 되고 이때 context switch가 발생하게 된다.
cpu us 유저 프로세스가 CPU를 사용하는 시간
sy 시스템 프로세스가 CPU를 사용하는 시간
id CPU가 아무 일도 하지 않고 여유 있는 시간

'OS > 리눅스 & 유닉스' 카테고리의 다른 글

egrep 정규식  (0) 2012.02.11
The GNU C Library Reference Manual  (0) 2012.02.10
SAR(System Activity Reporter)  (0) 2012.02.09
gettimeofday  (0) 2012.02.04
쓰레드, 시그널2  (0) 2012.02.02
: