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
- https://wiki.archlinux.org/title/Lm_sensors
- https://linux.die.net/man/8/ipmitool
- https://man7.org/linux/man-pages/man1/powerstat.1.html
- https://www.intel.com/content/www/us/en/download/18994/intel-power-gadget.html
- https://wiki.ubuntu.com/Kernel/Reference/Turbostat
- https://www.smartmontools.org/
- https://nvme.io/
- Supermicro IPMI User Guide
'Linux' 카테고리의 다른 글
리눅스 커널 파라미터(sysctl) 기초와 실전 적용 (1) | 2025.05.15 |
---|---|
리눅스 Swap 메모리란? (0) | 2024.11.19 |
리눅스 커널이란?(Linux Kernel) (2) | 2024.11.12 |
Vim 개념 및 사용가이드 (0) | 2024.05.14 |
리눅스 명령어 3. sed, awk란? (0) | 2024.01.20 |