리눅스 커맨드 시스템 모니터링
리눅스 커맨드 시스템 모니터링

리눅스 커맨드 시스템 모니터링

Tags
Linux
작성일
2024년 04월 03일 00시 00분
Author
hobin
URL
서버 시스템 성능 모니터링에는 CPU, Memory, Disk 등의 항목이 필요한데요.
리눅스 환경에서 이런 리소스들을 확인할 수 있는 다양한 명령어들을 지원하고 있습니다!
 

📌 uname [시스템 정보]

Uname 명령어를 사용하면 시스템과 커널의 정보를 확인할 수 있습니다.
-a 옵션을 사용하면 모든 정보를 확인할 수 있습니다.
notion image
  1. 시스템명 (System Name): Linux
      • 이 부분은 운영 체제 이름을 나타냅니다. 여기서는 "Linux"입니다.
  1. 노드명 (Node Name): anymonfm
      • 이 부분은 네트워크 노드의 이름을 나타냅니다. 일반적으로 호스트의 네트워크 이름이 여기에 표시됩니다. 여기서는 "anymonfm"입니다.
  1. 커널 발행 버전 (Kernel Release): 5.15.0-88-generic
      • 이 부분은 현재 사용 중인 커널의 버전을 나타냅니다. 여기서는 "5.15.0-88-generic"입니다.
  1. 커널 버전 (Kernel Version): #98-Ubuntu SMP Mon Oct 2 15:18:56 UTC 2023
      • 이 부분은 커널의 전체 버전 및 빌드 정보를 나타냅니다. 여기서는 "98-Ubuntu SMP Mon Oct 2 15:18:56 UTC 2023"입니다.
  1. 머신 (Machine): x86_64
      • 이 부분은 시스템의 하드웨어 아키텍처를 나타냅니다. 여기서는 "x86_64"입니다.
  1. 처리기 타입 (Processor Type): x86_64
      • 이 부분은 시스템의 프로세서 유형을 나타냅니다. 여기서는 "x86_64"입니다.
  1. 운영 체제 타입 (Operating System Type): GNU/Linux
      • 이 부분은 운영 체제 유형을 나타냅니다. 여기서는 "GNU/Linux"입니다.
💡
옵션
  • a, --all: 모든 정보를 출력합니다. 다음 순서로 출력됩니다. 단, 알 수 없는 경우에는 -p와 -i를 제외합니다.
  • s, --kernel-name: 커널 이름을 출력합니다.
  • n, --nodename: 네트워크 노드 호스트 이름을 출력합니다.
  • r, --kernel-release: 커널 릴리스를 출력합니다.
  • v, --kernel-version: 커널 버전을 출력합니다.
  • m, --machine: 머신 하드웨어 이름을 출력합니다.
  • p, --processor: 프로세서 유형을 출력합니다. (이동 불가능)
  • i, --hardware-platform: 하드웨어 플랫폼을 출력합니다. (이동 불가능)
  • o, --operating-system: 운영 체제를 출력합니다.
  • -help: 도움말을 표시하고 종료합니다.
  • -version: 버전 정보를 출력하고 종료합니다.
 

📌 top [운영체제 프로세스 모니터링]

프로세스 작업 명령어로, 시스템 프로세스들의 CPU/Memory 점유율을 실시간으로 볼 수 있습니다. 현재 몇 개의 프로세스가 있는지, CPU의 자세한 사용률은 어떻게 되는지, Memory와 Swap은 얼마나 사용하고 있는지를 확인할 수 있습니다.
notion image
  1. 시간 (Time): 현재 시간을 나타냅니다. 여기서는 "13:40:03"입니다.
  1. 업타임 (Up time): 시스템의 부팅 후 경과된 시간을 나타냅니다. 여기서는 "135 days, 4:31"입니다.
  1. 사용자 수 (Users): 현재 로그인한 사용자 수를 나타냅니다. 여기서는 "7 users"입니다.
  1. 로드 평균 (Load Average): 시스템의 부하를 나타내는 세 개의 숫자입니다. 순서대로 1분, 5분, 15분 동안의 부하 평균을 나타냅니다. 여기서는 "2.88, 2.09, 1.87"입니다.
  1. 작업 (Tasks): 시스템에서 실행 중인 작업의 개수를 나타냅니다. 여기서는 "233 total"입니다.
  1. CPU 사용량 (%Cpu(s)): CPU의 사용량을 각 부분별로 표시합니다. 여기서는 다음과 같습니다:
      • us (User): 사용자 공간에서 CPU가 소비하는 시간 (9.3%)
      • sy (System): 시스템 공간에서 CPU가 소비하는 시간 (4.0%)
      • ni (Nice): 우선순위가 높은 프로세스의 사용 시간 (0.0%)
      • id (Idle): CPU가 아무 작업을 하지 않고 유휴 상태인 시간 (76.0%)
      • wa (IO Wait): IO 작업을 기다리는 시간 (10.7%)
      • hi (Hardware IRQ): 하드웨어 인터럽트에서 소비되는 시간 (0.0%)
      • si (Software IRQ): 소프트웨어 인터럽트에서 소비되는 시간 (0.0%)
      • st (Steal): 가상 환경에서 다른 하드웨어에 의해 소비되는 시간 (0.0%)
  1. 메모리 사용량 (MiB Mem): 시스템의 메모리 사용량을 표시합니다. 여기서는 다음과 같습니다:
      • total: 전체 메모리 용량 (88572.7 MiB)
      • free: 사용 가능한 메모리 용량 (38513.0 MiB)
      • used: 사용 중인 메모리 용량 (48655.2 MiB)
      • buff/cache: 버퍼 및 캐시로 사용 중인 메모리 용량 (1404.6 MiB)
  1. 스왑 사용량 (MiB Swap): 시스템의 스왑 사용량을 표시합니다. 여기서는 다음과 같습니다:
      • total: 전체 스왑 용량 (8192.0 MiB)
      • free: 사용 가능한 스왑 용량 (7512.5 MiB)
      • used: 사용 중인 스왑 용량 (679.5 MiB)
      • avail Mem: 사용 가능한 메모리 용량 (38907.5 MiB)
notion image
  1. PID: 프로세스의 고유 식별자인 프로세스 ID를 나타냅니다.
  1. USER: 프로세스를 실행한 사용자의 이름을 나타냅니다.
  1. PR: 프로세스의 우선순위를 나타냅니다. 낮은 값이 높은 우선순위를 의미합니다.
  1. NI: 프로세스의 Nice 값입니다. 이 값이 높을수록 프로세스의 우선순위가 낮아집니다.
  1. VIRT: 가상 메모리에 할당된 총 메모리 양을 나타냅니다. (KiB 단위)
  1. RES: 실제 메모리에서 사용 중인 메모리 양을 나타냅니다. (KiB 단위)
  1. SHR: 공유 메모리를 나타냅니다. (KiB 단위)
  1. S: 프로세스의 상태를 나타냅니다. 대표적으로 다음과 같은 상태가 있습니다:
      • R: 실행 중인 상태 (Running)
      • S: 대기 중인 상태 (Sleeping)
      • D: 블록킹 I/O를 기다리는 상태 (Waiting)
      • Z: 좀비 상태 (Zombie)
      • T: 정지된 상태 (Stopped)
      • <: 우선순위가 높은 프로세스 (High-priority)
      • N: 우선순위가 낮은 프로세스 (Low-priority)
  1. %CPU: 프로세스가 CPU를 사용하는 비율을 나타냅니다.
  1. %MEM: 프로세스가 메모리의 얼마를 사용하는지의 비율을 나타냅니다.
  1. TIME+: 프로세스가 실행된 총 시간을 나타냅니다.
  1. COMMAND: 실행된 프로세스의 명령어 이름을 나타냅니다.
💡
정렬
  • SHIFT + M: 메모리 사용량(MEM%)에 따라 정렬
  • SHIFT + P: CPU 사용량(CPU%)에 따라 정렬
  • SHIFT + T: 프로세스 실행 시간에 따라 정렬
  • SHIFT + N: PID에 따라 정렬
  • SHIFT + W: 현재 설정된 정렬을 저장하여 나중에 재사용할 수 있도록 합니다.

📌 free [메모리 모니터링]

메모리에 대한 정보를 확인할 수 있습니다.
notion image
  1. total: 전체 메모리 또는 스왑 공간의 총 용량을 나타냅니다. 여기서는 메모리와 스왑 각각에 대한 총 용량이 표시됩니다.
  1. used: 현재 사용 중인 메모리 또는 스왑 공간의 양을 나타냅니다. 여기서는 메모리와 스왑 각각에 대한 사용 중인 용량이 표시됩니다.
  1. free: 현재 사용 가능한 메모리 또는 스왑 공간의 양을 나타냅니다. 여기서는 메모리와 스왑 각각에 대한 사용 가능한 용량이 표시됩니다.
  1. shared: 여러 프로세스가 공유하는 메모리의 양을 나타냅니다. 일반적으로 리눅스 시스템에서는 이 값이 사용되지 않습니다.
  1. buff/cache: 버퍼 및 캐시로 사용되는 메모리의 양을 나타냅니다. 이 메모리는 파일 시스템과 관련된 작업에서 사용되며 필요에 따라 프로세스가 사용할 수 있습니다.
  1. available: 시스템이 추가 프로세스를 실행하기 위해 사용 가능한 메모리의 추정치를 나타냅니다. 이 값은 실제로 사용 가능한 메모리가 아니며, 캐시와 버퍼를 포함하여 계산됩니다. 사용 가능한 메모리가 낮을수록 시스템 성능에 영향을 미칠 수 있습니다.

📌 df [디스크 모니터링]

현재 디스크의 전체 용량 및 남은 용량을 확인할 수 있습니다.
notion image
  1. Filesystem: 파일 시스템의 이름을 나타냅니다. 여기서는 각 파일 시스템의 이름이 표시됩니다.
  1. Size: 파일 시스템의 총 크기를 나타냅니다. 일반적으로 GB 또는 TB 단위로 표시됩니다.
  1. Used: 파일 시스템에서 사용 중인 공간의 양을 나타냅니다. 마찬가지로 GB 또는 TB 단위로 표시됩니다.
  1. Avail: 파일 시스템에서 사용 가능한 공간의 양을 나타냅니다. 마찬가지로 GB 또는 TB 단위로 표시됩니다.
  1. Use%: 파일 시스템에서 사용 중인 공간의 백분율을 나타냅니다. 사용 중인 공간과 사용 가능한 공간의 비율입니다.
  1. Mounted on: 파일 시스템이 마운트된 디렉터리의 경로를 나타냅니다. 여기서는 각 파일 시스템이 마운트된 디렉터리의 경로가 표시됩니다.
 

이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.
 

댓글

guest