본문 바로가기
IT

리눅스 서버부하 상태 점검 방법

by 쪼이빠빠 2023. 3. 8.
728x90
반응형

리눅스 서버부하 상태 점검 방법

1) Uptime 명령

- CPU에 처리해야 하는 작업이 쌓여있는 정도를 표현
- load average 항목 확인
- CPU작업이 대기 큐에서 처리를 기다리는 프로세스의 평균값을 1,5,15분 간격으로 표현

# uptime
07:22:01 up 282 days,  9:44,  1 user,  load average: 0.00, 0.01, 0.05

2) Vmstat 명령

- 현재 CPU가 어떤 작업에 주로 사용되는지 확인
- 초단위 시간 간격으로 표현

# vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  0      0 2735836   2088 4488760    0    0     0     0    0    0  0  0 100  0  0

-- proc 항목
r : 현재 실행중인 프로세스의 수
b : 인터럽트가 불가능한 sleep 상태에 있는 프로세스의 수 (I/O 처리를 하는 동안 블럭 처리된 프로세스)  
w : 강제로 스왑아웃된 프로세스
-- memory 항목
swpd : 사용하고 있는 swap 메모리 양  
free : 사용가능한 메모리 양
buff : 버퍼로 사용되고 있는 메모리 양  
cache : 캐시로 사용되고 있는 메모리 양
-- swap 항목
si : swap in  
so : swap out
-- io 항목
bi : 초당 블럭 디바이스로 보내는 블럭 수  
bo : 초당 블럭 디바이스로부터 받은 블럭 수
-- system 항목
in : 초당 인터럽트 되는 양
cs : 초당 context switch되는 양
-- cpu 항목
us : 사용자의 CPU 사용 시간 비율  
sy : 시스템의 CPU 사용 시간 비율  
id : idle

3) Free 명령

- OS의 물리적 메모리나 스왑 영역의 상태 확인
- 주로 –m –t 옵션을 사용( m: MB표기, t: TOTAL라인 표시)

# free
              total        used        free      shared  buff/cache   available
Mem:        8010316      783116     2736348      447628     4490852     6398212
Swap:             0           0           0

-- Mem 항목
시스템의 물리적인 메모리에 대한 사용량을 각 필드로 표시
total은 전체 메모리의 용량은 byte단위로 표시
used는 현재 시스템에서 사용중인 메모리의 량을 표시
free는 현재 시스템에서 사용중이지 않은 메모리의 량을 표시
shared는 현재 시스템에서 공유한 메모리의 용량을 표시
buffers는 현재 시스템에서 버퍼링(buffering)된 메모리의 량을 표시
cached는 현재 시스템에서 캐싱(caching)된 메모리의 량을 표시

-- Swap 항목
total은 시스템의 전체 Swap메모리의 량을 표시
used는 전체 스왑메모리에서 현재 사용중인 스왑메모리의 양
free는 전체 스왑메모리 중에서 사용되지 않고 남아 있는 메모리의 양

4) Iostat 명령

OS의 물리적 메모리나 스왑 영역의 상태 확인
-dx 옵션으로 디바이스별 확장 통계 조회 가능

# iostat
Linux 3.10.0-693.el7.x86_64 (hsnc-dbedu)        03/08/2023      _x86_64_        (4 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.06    0.00    0.08    0.00    0.01   99.85

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
vda               0.23         0.08         1.42    1948154   34552411
vdb               0.02         0.01         0.28     202171    6763791
dm-0              0.02         0.01         0.28     183691    6763791

 
-- Device 항목
rrqm/s  : 디바이스 큐에 대기중인 초당 읽기 요청의 건수
wrqm/s  : 디바이스 큐에 대기중인 초당 쓰기 요청의 건수
r/s :  디바이스에 요청한 초당 읽기 요청의 건수
w/s  : 디바이스에 요청한 초당 쓰기 요청의 건수
rsec/s : 디바이스에서 초당 읽어들인 섹터의 갯수
wsec/s : 디바이스에서 초당 기록한 섹터의 갯수
avgrq-sz : 디바이스에 요청한 초당 평균 데이터의 크기
avgqu-sz : 디바이스에 요청한 초당 평균 큐 길이
await : 디바이스에서 처리되기 위해서 요청된 I/O 평균 시간(밀리초, 1/1000초). 큐에서 소요된 시간과 처리된 시간이 합쳐져 출력
svctm : 디바이스에서 처리한 I/O 평균 시간 (밀리초, 1/1000초)
%util : 디바이스에서 요청한 I/O 작업을 수행하기 위해 사용한 CPU 시간 비율. 이 값이 100%에 가까워지면 디바이스가 한계에 도달

반응형

댓글