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 |