Study/Linux

[Command] 모니터링 명령어 모음

Dream Amal 2024. 8. 5.

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

댓글