본문 바로가기
Back-end/Linux

Linux : vmstat, sar, top(os 상태조회)

by somlang_bba 2023. 1. 27.
728x90

vmstat(Virtual Memory Statistics)

vmstat 명령어를 통해 시스템이 동작하며 차지하는 프로세스, 메모리, 디스크사용량, io작업, cpu상태 등을 볼 수 있다.

 

# interval (초)간격으로 count번 출력
$> vmstat [interval] [count]

위의 명령어로 vmstat 명령어를 수행하며 ctrl+c 를 이용해 루프를 빠져나올 수 있다.

 

vmstat 1 을 통해 출력한 시스템의 상태

 

왼쪽부터 출력하는 값에 대해 설명하자면

 

-- procs -- : 프로세스

r (run queue) : CPU 자원을 기다리는 실행 대기 중인 명령어의 수 → 이 수치가 높은 경우 cpu과부하가 일어나고 있다고 추측할 수 있음.

b (blocked queue) : 메모리나 기타 I/O 등에 대한 자원을 기다리는 실행 대기 중인 명령어의 수 

 

-- memory -- : 메모리(byte기준)

swpd : swap을 이용하여 사용되는 메모리용량

free (free list) : 유후(idle) 메모리용량 → 이 수치가 운영 중인 물리적인 메모리의 6%보다 계속적으로 적게 나오면 메모리가 부족하다는 것을 나타냄(메모리 증설 필요)

buff : Kernel Buffer로 사용되는 메모리 용량

cache: Kernel Cache로 사용되는 메모리  용량

 

-- swap -- : 디스크swap을 통한 용량(byte기준)

si (swap in) : disk에서 memory로 옮겨간 용량 (스왑영역에 쓰기)

so (swap out) : memory에서  disk로 옮겨간 용량 (스왑영역에서 읽기)

 

-- io -- : Block I/O

bi (block in) : 블록 장치(디스크, 디바이스 등)에서 읽기에 사용된 블록 수

bo (block out) : 블록 장치(디스크, 디바이스 등) 중  쓰기에 사용된 블록 수

 

-- system -- : System
in (interrupt): 클럭을 포함한 초당 인터럽트 수
cs (context switching): 초당 컨텍스트 전환 수

-- cpu --   CPU (전체 CPU 자원에 대한 %)
us (user application time): Kernel 이외의 코드가 실행된 시간
sy (system application time): Kernel 코드가 실행된 시간
id (idle cpu): IDLE 시간 
wa (waiting): IO waiting 시간
st (stallen): Time stolen from a virtual machine.

 

sar(System Activity Reporter)

sar 명령어를 이용하면 시스템 상태를 기록한 log를 볼 수 있다. (vmstat은 현재 실행중인 프로세스의 상태를 확인)

 

top(table of processes)

실무에 들어와 보니 vmstat이나 sar 명령어보다는 top명령어를 더 많이 사용하는 것 같다.

top 명령어는 현재 실행중인 프로세스들의 상태를 확인 할 수 있는 윈도우를 비교해보면 작업관리자 같은 명령어이다.

현재 사용중인 cpu, 메모리 등의 정보를 한눈에 확인 할 수 있고 내부 명령어들을 이용하여 필터를 통해 원하는 정보만

얻어내거나, top 명령어 내부에서 특정 프로세스를 종료하는 기능도 있다.

 

 

728x90