Linux 시스템에서 CPU 사용량, 시스템 가동 시간, 메모리 사용량을 모니터링하기 위해 사용되는 명령어들에 대해 알아보자.
1. CPU 사용률 나타내기
top -bn1 | grep "Cpu(s)" | awk '{printf("CPU 사용률 : %.1f%%\n", 100 - $8)}'
- 목적: CPU 사용률을 계산하고 표시함
- 설명:
top -bn1:top명령어를 배치 모드(b)로 한 번 실행(n1).grep "Cpu(s)":top출력에서 CPU 통계를 포함하는 줄을 필터링awk '{printf("CPU 사용률 : %.1f%%\n", 100 - $8)}':awk를 사용하여 CPU 유휴 시간($8)을 100에서 빼서 CPU 사용률을 계산하고 형식에 맞게 출력
- 출력:
CPU 사용률 : X.X%형식으로 CPU 사용률을 표시함- 출력 예시:
CPU 사용률 : 25.3% - 해석: 이 값은 현재 CPU 사용률을 나타냄. 예를 들어,
25.3%는 CPU가 현재 25.3% 사용 중임을 의미
- 출력 예시:
2. CPU 유휴시간 나타내기
top -bn1 | grep "Cpu(s)" | awk '{printf("CPU idle : %.1f%%\n", $8)}'
- 목적: CPU 유휴 시간 비율을 계산하고 표시힘
- 설명:
top -bn1:top명령어를 배치 모드로 한 번 실행grep "Cpu(s)": CPU 통계를 포함하는 줄을 필터링awk '{printf("CPU idle : %.1f%%\n", $8)}':awk를 사용하여 CPU 유휴 시간 비율($8)을 형식에 맞게 출력
- 출력:
CPU idle : X.X%형식으로 CPU 유휴 시간을 표시함- 출력 예시:
CPU idle : 74.7% - 해석: 이 값은 현재 CPU 유휴 시간 비율을 나타냄. 예를 들어,
74.7%는 CPU가 현재 74.7% 유휴 상태임을 의미
- 출력 예시:
3. CPU 사용 통계 간단히 보기
top -bn1 | grep Cpu
- 목적: CPU 사용 통계의 간단한 스냅샷을 제공
- 설명:
top -bn1:top명령어를 배치 모드로 한 번 실행grep Cpu: CPU 사용 통계를 포함하는 줄을 필터링하여 출력
- 출력: 다양한 측면(사용자, 시스템, 유휴 등)에 대한 자세한 CPU 사용 정보를 제공
- 출력 예시:
%Cpu(s): 3.0 us, 1.0 sy, 0.0 ni, 95.0 id, 1.0 wa, 0.0 hi, 0.0 si, 0.0 st- 해석:
us: 사용자 영역에서의 CPU 사용률 (3.0%)sy: 시스템 영역에서의 CPU 사용률 (1.0%)ni: 낮은 우선순위에서의 CPU 사용률 (0.0%)id: 유휴 시간 (95.0%)wa: IO 대기 시간 (1.0%)hi: 하드웨어 인터럽트 처리 시간 (0.0%)si: 소프트웨어 인터럽트 처리 시간 (0.0%)st: 하이퍼바이저에 의해 훔쳐진 시간 (0.0%)
4. 각CPU 코어에 대한 자세한 통계 보기
mpstat -P ALL
- 목적: 모든 CPU에 대한 사용 통계를 표시
- 설명:
mpstat: CPU 사용 통계를 보고하는sysstat패키지 명령어P ALL: 모든 CPU에 대한 통계를 표시하도록 지정
- 출력: 각 CPU/코어에 대한 자세한 CPU 사용 통계를 제공
- 출력 예시:
-
12:00:01 AM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle 12:00:01 AM all 3.00 0.00 1.00 1.00 0.00 0.00 0.00 0.00 0.00 95.00 12:00:01 AM 0 2.00 0.00 0.50 0.50 0.00 0.00 0.00 0.00 0.00 97.00 12:00:01 AM 1 4.00 0.00 1.50 1.50 0.00 0.00 0.00 0.00 0.00 93.00 - 해석:
all: 모든 CPU의 평균- 각 행은 개별 CPU의 사용률을 나타냄
%usr: 사용자 영역에서의 CPU 사용률%nice: 낮은 우선순위에서의 CPU 사용률%sys: 시스템 영역에서의 CPU 사용률%iowait: IO 대기 시간%irq: 하드웨어 인터럽트 처리 시간%soft: 소프트웨어 인터럽트 처리 시간%steal: 하이퍼바이저에 의해 훔쳐진 시간%guest: 가상 머신에서의 CPU 사용률%gnice: 가상 머신에서의 낮은 우선순위 CPU 사용률%idle: 유휴 시간
5. 분당 CPU의 평균 부하 보기
uptime
- 목적: 시스템 가동 시간, 현재 로그인한 사용자 수, 시스템 부하 평균을 표시함
- 설명:
uptime: 명령어
- 출력: 시스템 가동 시간, 로그인한 사용자 수, 1분, 5분, 15분 동안의 부하 평균을 표시
- 출력 예시:
12:00:01 up 10 days, 5:32, 2 users, load average: 0.15, 0.10, 0.05 - 해석:
12:00:01: 현재 시간up 10 days, 5:32: 시스템이 10일 5시간 32분 동안 가동 중임을 나타냄2 users: 현재 로그인한 사용자 수load average: 0.15, 0.10, 0.05: 최근 1분, 5분, 15분 동안의 시스템 부하 평균
- 출력 예시:
6. 메모리 사용률 통계 감시
sar -r 1
- 목적: 메모리 사용 통계를 보고
- 설명:
sar: 시스템 활동 정보를 수집하고 보고하는sysstat패키지 명령어r: 메모리 통계를 표시하도록 지정1: 각 보고서 사이의 간격을 초 단위로 지정
- 출력: 매초 메모리 사용 통계를 표시
- 출력 예시:
-
12:00:01 AM kbmemfree kbmemused %memused kbbuffers kbcached kbcommit %commit 12:00:01 AM 123456 654321 84.13 12345 67890 1234567 45.67 - 해석:
kbmemfree: 사용 가능한 메모리 (KB 단위)kbmemused: 사용 중인 메모리 (KB 단위)%memused: 사용 중인 메모리의 백분율kbbuffers: 버퍼에 사용 중인 메모리 (KB 단위)kbcached: 캐시에 사용 중인 메모리 (KB 단위)kbcommit: 커밋된 메모리 (KB 단위)%commit: 커밋된 메모리의 백분율
728x90
'Study > Linux' 카테고리의 다른 글
| [WSL] Windows에 설치된 WSL 배포판 삭제하는 법 (0) | 2025.05.22 |
|---|---|
| [Command] alias 등록하고, 명령어 쉽게 사용하기 (0) | 2024.07.11 |
| [NginX] repository 등록 (0) | 2024.07.08 |
| [NginX] NGINX 소스 컴파일로 설치하기 (0) | 2024.05.27 |
| [Script] Shell Script 작성을 위한 기초 문법 (0) | 2024.05.03 |
댓글