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' 카테고리의 다른 글
[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 |
[Script] 리눅스 사용자 추가 쉽게하자! (0) | 2024.04.30 |
댓글