(1). vmstat
vmstat은 Linux/Unix에서 자주 사용하는 모니터링 도구로, 특정 시간 간격 동안의 서버 전반적인 상태를 보여줍니다. 이 명령어는 CPU 사용률, 메모리(MEM), 스왑(Swap) 상태, I/O 읽기/쓰기 정보 등을 제공합니다.
[user@server ~]# 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 3709568 2108 156248 0 0 1 0 20 18 0 0 100 0 0
설명:
-
procs (프로세스):
-
r: 실행 중이거나 실행 대기 상태인 프로세스 수입니다. 이 값이 CPU 코어 수보다 클 경우, CPU 병목 현상이 발생할 수 있습니다.
-
b: IO 작업을 대기 중인 비중단 수면 상태의 프로세스 수입니다.
-
memory (메모리):
-
swpd: 가상 메모리 사용량(KB 단위). 이 값이 높으면 물리 메모리가 부족할 가능성이 있습니다.
-
free: 사용 가능한 물리 메모리 크기(KB 단위).
-
buff: 블록 디바이스 캐시에 할당된 메모리 양(KB 단위).
-
cache: 파일 캐시에 할당된 메모리 크기(KB 단위).
-
swap (스왑):
-
si: 디스크로부터 스왑 영역으로 읽어온 데이터량(KB/초).
-
so: 스왑 영역에서 디스크로 쓰여진 데이터량(KB/초).
-
io:
-
bi: 블록 디바이스로부터 초당 읽은 블록 수.
-
bo: 블록 디바이스에 초당 쓴 블록 수.
-
system:
-
in: 초당 인터럽트 횟수(타이머 인터럽트 포함).
-
cs: 초당 컨텍스트 스위칭 횟수.
-
cpu:
-
us: 사용자 모드에서 소비한 CPU 시간(%).
-
sy: 시스템 모드에서 소비한 CPU 시간(%).
-
id: 유휴 상태인 CPU 시간(%).
-
wa: IO 대기 상태인 CPU 시간(%).
-
st: 가상 머신에서 점유한 CPU 시간(%).
예제: 1초마다 10번 출력하기
[user@server ~]# vmstat 1 10
(2). sar
sar 명령어는 sysstat 패키지에서 제공되며, 시스템 활동 정보를 주기적으로 기록하고 분석할 수 있습니다. 기본적으로 /var/log/sa 디렉토리에 저장됩니다.
[user@server ~]# yum -y install sysstat
사용법:
-u: CPU 사용 상태 표시.-n DEV: 네트워크 인터페이스 통계 표시.-d: 디스크 활동 상태 표시.-r: 메모리 사용량 표시.
예제: CPU 사용량 확인 후 로그 파일에 저장
[user@server ~]# sar -u 2 5 -o cpu_log.sar
로그 확인:
[user@server ~]# sar -u -f cpu_log.sar
특정 시간대의 CPU 상태 확인:
[user@server ~]# sar -s 12:00:00 -e 12:20:00 -f /var/log/sa/sa04