DevOps
리눅스 서버 상태 체크하기-vmstat 분석
brad.min
2021. 2. 28. 21:28
반응형
vmstat 는 리눅스의 프로세스, 메모리, 페이징, I/O 블럭, CPU 활동 사항들의 정보를 출력하는 기능을 합니다.
엔지니어링을 하면서 시스템이 느려지거나 하는 요청들이 왔을 때 서버에 문제가 없는지 점검할 때 사용합니다.

procs | r(run queue) | 현재 실행중인 프로세스 (cpu 자원을 기다리는 프로세스 수) CPU의 처리가 어느정도 인지 추적할 수 있음 |
b(block queue) | io 자원을 할당받지 못해 블록된 프로세스 수 b의 수치가 높은 경우 i/o 작업을 위해 cpu가 계속 대기 상태로 있다는 뜻이므로 디스크의 i/o 문제를 확인해야한다. |
|
memory(KB) | swpd | 현재 메모리가 부족하여 swap을 사용하고 있는 양을 의미한다. 이 값이 높아도 free에 많은 메모리의 여유가 있다면 괜찮다. 사용된 가상 메모리 용량 |
free | OS에서 실제 남은 메모리의 공간을 의미한다. | |
buff | 버퍼에 사용된 메모리 용량 | |
cache | 페이지 캐시에 사용된 메모리 용량 | |
swap(KB/s) | si | 디스크에서 메모리로 swap in되는 양을 의미하며, swap 공간에 있는 데이터를 메모리로 호출한다. |
so | swap-out된 메모리의양 (KB), 메모리에의 공간이 부족하여 swap 공간으로 보내는 것이다. 지속적으로 발생한다면 메모리 부족을 의심해야하고 0인 경우가 좋다. | |
io(blocks/s) | bi | bi는 초당 블럭 디바이스로 보내는 블럭 수이다. |
bo | bo는 초당 블럭 디바이스로 부터 받은 블럭수이다. (bi/bo가 높다면 하드디스크에 쓰고 읽는 값이 많다는 것이다.) | |
system | in | 초당 인터럽트되는 양이다. 이 양이 많다면 네트워크 쪽을 점검해볼 필요가 있다. |
cs | 문맥교환되는 양을 뜻한다. | |
cpu | us | CPU가 유저레벨의 코드를 실행한 시간(%) |
sy | CPU가 시스템레벨의 코드를 실행한 시간(%) | |
id | 사용가능한 CPU의 시간율 id = 100 -(us + sy), id가 0인 경우 CPU를 100%로 사용하고 있는 것이므로 top, ps, sar등의 명령으로 CPU를 계속해서 사용하는 프로세스를 찾아야한다. | |
wa | 디스크 혹은 기타 io 작업으로 인해 CPU가 대기하는 시간 비율 |
반응형