1 분 소요

서버 관리자에게 있어 시스템의 현재 상태를 정확히 파악하고 잠재적인 문제를 미리 발견하는 것은 매우 중요합니다. 리눅스는 이를 위한 다양한 모니터링 도구들을 제공합니다.

기본적인 모니터링 도구

top 명령어

가장 기본적이고 필수적인 모니터링 도구입니다.

top
# 결과 예시
top - 14:23:36 up 15 days, 3:42, 1 user, load average: 0.52, 0.58, 0.59
Tasks: 180 total,   1 running, 179 sleeping,   0 stopped,   0 zombie
%Cpu(s):  5.9 us,  2.0 sy,  0.0 ni, 91.7 id,  0.3 wa,  0.0 hi,  0.1 si
MiB Mem :  15892.0 total,   8012.3 free,   4120.5 used,   3759.2 buff/cache
MiB Swap:   2048.0 total,   2048.0 free,      0.0 used.  11234.4 avail Mem

서버 모니터링

시스템 리소스 모니터링

vmstat

가상 메모리 통계를 보여주는 도구입니다.

vmstat 1
# 1초 간격으로 업데이트
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 821524  97260 858932    0    0     0     1    1    2  0  0 100  0  0

iostat

CPU 사용량과 디스크 I/O 통계를 보여줍니다.

iostat -x 1
# 확장 정보를 1초 간격으로 표시

고급 모니터링 도구

sar (System Activity Reporter)

시스템 활동을 자세히 기록하고 분석합니다.

# CPU 사용량을 1초 간격으로 5회 측정
sar -u 1 5

# 메모리 사용량 확인
sar -r

# 디스크 I/O 모니터링
sar -b

stress-ng를 이용한 부하 테스트

시스템의 한계를 테스트하기 위한 도구입니다.

# CPU에 부하 주기
stress-ng --cpu 4 --timeout 60s

# 메모리에 부하 주기
stress-ng --vm 2 --vm-bytes 1G --timeout 60s

# I/O에 부하 주기
stress-ng --io 4 --timeout 60s

주요 모니터링 지표

로드 애버리지 (Load Average)

시스템의 부하를 나타내는 세 개의 숫자 (1분, 5분, 15분 평균)

  • 1.0 이하: 여유 있는 상태
  • 1.0~5.0: 주의가 필요한 상태
  • 5.0 이상: 과부하 상태

CPU 사용률

  • us (user): 일반 프로세스의 사용률
  • sy (system): 커널의 사용률
  • id (idle): 유휴 상태
  • wa (iowait): I/O 대기

메모리 사용량

  • used: 실제 사용 중인 메모리
  • free: 사용 가능한 메모리
  • buff/cache: 버퍼와 캐시로 사용 중인 메모리
  • available: 실제로 사용 가능한 메모리

서버 모니터링은 지속적으로 수행해야 하는 작업입니다. 각 도구들이 보여주는 지표들을 이해하고, 정상 범위를 파악하여 이상 징후를 조기에 발견하는 것이 중요합니다.

댓글남기기