Linux

리눅스에서 물리 서버 하드웨어 상태 모니터링 가이드

Somaz 2025. 4. 18. 18:07
반응형

Overview

물리 서버를 운영하다 보면 CPU 온도나 팬 속도, 전압, 전력 소모, 쓰로틀링(성능 저하) 상태 등 다양한 하드웨어 지표를 모니터링해야 할 필요가 있다.

이 글에서는 Ubuntu 기반 리눅스 서버에서 하드웨어 센서 정보를 확인하고 실시간으로 관리할 수 있는 다양한 명령어와 도구를 소개한다. 특히, Supermicro, Dell, HP 같은 서버에서도 적용 가능한 `ipmitool, lm-sensors, powerstat, nvme-cli` 등을 다룬다.

 

 

 

 

 

 

 

 


 

 

 

 

1. lm-sensors를 이용한 CPU 온도 확인

sudo apt install lm-sensors -y
sudo sensors-detect
  • YES를 반복적으로 입력하여 가능한 모든 센서를 탐지한다.
    • `coretemp` (Intel CPU)
    • `nct6775` (팬, 전압 센서)

 

 

감지된 센서 모듈 예시

coretemp
nct6775

 

 

커널 모듈 즉시 로드

sudo modprobe coretemp
sudo modprobe nct6775

 

 

센서 값 출력

sensors

 

Tip: `/etc/modules` 에 모듈명을 추가하면 재부팅 후에도 자동으로 로드

 

 

 

 

 

 

2. 시스템 사용률 확인 (CPU/메모리 부하 등)

 

  • `htop`: CPU, 메모리, 스레드 실시간 모니터링 (GUI 기반)
  • `iotop`: 디스크 읽기/쓰기 실시간 추적
  • `iftop`: 네트워크 송수신 트래픽 추적 (인터페이스별로 확인)

 

 

sudo apt install htop
htop

 

 

실시간 디스크 I/O

sudo apt install iotop
sudo iotop

 

 

실시간 네트워크 트래픽

sudo apt install iftop
sudo iftop

 

 

 

 

 

 

3. 팬 속도, 전압, 전력 소모 (IPMI 지원 서버 한정)

sudo apt install ipmitool
sudo ipmitool sensor

 

  • Supermicro, Dell iDRAC, HP iLO 등에서 IPMI가 BIOS 또는 BMC에서 활성화되어 있어야 한다.
  • 서버 전원 공급 장치(PDU), 팬 속도(RPM), 섀시 온도 등 정확한 하드웨어 상태를 출력한다.

 

 

 

 

 

 

 

4. Intel CPU 전력 소비량 및 쓰로틀링 확인

 

sudo apt install powerstat
sudo powerstat

 

 

또는

sudo apt install linux-tools-common linux-tools-$(uname -r)
sudo turbostat
  • Package, Core, Frequency, C-state, Watts, 쓰로틀링 여부 등을 확인할 수 있다.
 
 
 
 
 

5. NVMe SSD 상태 및 온도 확인

sudo apt install nvme-cli
sudo nvme smart-log /dev/nvme0
  • 온도, 읽기/쓰기 횟수, Wear Leveling Count, Available Spare 등 SSD 수명에 중요한 정보 확인 가능
 
 
 
 

6. 시스템 하드웨어 정보 전체 요약

sudo lshw -short
sudo inxi -Fxz
  • 디바이스별 정보 (CPU, GPU, 네트워크 카드, 메모리 슬롯 등)를 정리된 형식으로 확인 가능

 

 
 
 

7. 디스크 건강상태 (SMART) 확인

sudo apt install smartmontools
sudo smartctl -a /dev/sda
  • 현재 상태, 사용 시간, reallocated sector 수 등 하드디스크의 건강 상태 확인
 

 

 

 

 

8. 열 관련 쓰로틀링 여부 수동 확인

cat /sys/class/thermal/thermal_zone*/temp
cat /sys/devices/system/cpu/intel_pstate/no_turbo

 

 

`no_turbo` 를 1로 설정하면 터보 부스트 비활성화

echo 1 | sudo tee /sys/devices/system/cpu/intel_pstate/no_turbo
  • 0: 활성화 (기본값), 1: 비활성화
 

 

 

 

 

 

9. IPMI LAN 접속 설정 및 원격 접속

 

BIOS에서 IPMI LAN이 활성화되어 있다면, 원격에서도 ipmitool로 접속 가능하다.

ipmitool -I lanplus -H <IPMI_IP> -U ADMIN -P ADMIN sensor
  • 웹 UI 접속도 가능: `http://<IPMI_IP>`
  • Supermicro는 BMC, Dell은 iDRAC, HP는 iLO로 표기됨.

 

 

 

 

 

10. 시스템 전원 및 팬 RPM 제어 (IPMI 지원 시)

ipmitool chassis power status      # 전원 상태 확인
ipmitool chassis power cycle       # 하드 리셋
ipmitool sensor get "FAN1"         # 특정 팬 RPM 확인

 

 

 

 

 

 

 

11. CPU 쓰로틀링 상세 진단

turbostat 활용 시 다음 필드들을 통해 쓰로틀링 상황을 분석 가능:

  • `PkgWatt`, `CorWatt`: 전력 소모(Watt)
  • `PkgTmp`: 패키지 온도
  • `GFXMHz`: GPU 클럭 (내장 그래픽)
  • `Busy%`, `Bzy_MHz`: 평균 부하 시 클럭 속도
  • `CPU%c1`, `CPU%c6`: C-State 진입률 (절전 상태)
sudo turbostat --Summary --interval 5

 

 

 

 

 

 

12. 시스템 부팅 이후 열 발생/경고 추적

dmesg | grep -i thermal
journalctl -k | grep -i throttle

 

→ 커널 로그에서 쓰로틀링, 과열 알람 등을 확인할 수 있음

 

 

 

 

 

 

관리 팁 및 체크리스트

항목 권장 범위 점검 주기
CPU 온도 35~80°C 주기적 (sensors)
FAN RPM > 800 RPM 팬 노이즈 시
SSD Wear Level > 80% 매달 1회
SMART Errors 0 주기적
IPMI 센서 이상 없음 시스템 부하 증가 시
Turbo 비활성화 여부 필요 시 1 과열 시 임시 조치

 

 

 

 

 

 

 

 


 

 

 

 

 

 

마무리

하드웨어 센서 및 리소스 사용률은 서버 운영 안정성의 핵심이다. 특히 온도 상승, 전압 이상, 디스크 열화 등을 조기에 파악하면 장애를 미연에 방지할 수 있다.

 

위에서 소개한 명령어들은 대부분의 리눅스 환경에서 쉽게 적용 가능하며, 필요시 Grafana + Prometheus + node_exporter 등으로 시각화할 수도 있다.

 

리눅스 서버는 가상 환경보다 하드웨어 상태의 영향을 더 직접적으로 받는다. 정기적인 센서 확인은 비용이 전혀 들지 않지만, 큰 장애를 예방할 수 있는 중요한 점검이다.


특히 여름철이나 장시간 부하가 지속되는 환경에서는 CPU 쓰로틀링 여부팬 상태를 꼭 모니터링하자.

 

서버가 뜨거워지기 전에, 미리 체크해두자.

 

 

 

 

 

 

 

 

 

 

 


Reference

 

 

반응형