当前位置:首页 > Linux > 正文

Linux如何监控CPU温度

Linux可通过终端命令查看硬件温度:使用 lm-sensors包的 sensors命令检测CPU/主板温度; hddtemp查看硬盘温度; acpi -t显示部分设备温度,图形界面可选Psensor或GNOME系统监视器扩展。

场景痛点:当你管理的Linux服务器突然风扇狂转,或笔记本持续发烫时,能否快速定位高温硬件?温度监控不仅是性能优化的关键,更是预防硬件损坏、避免数据丢失的防线,以下提供专业级温度查看方法,涵盖CPU、硬盘、NVMe、GPU等核心部件。


核心方法:通过命令行工具监控

lm-sensors (适用大多数CPU/主板)

  • 安装
    sudo apt install lm-sensors       # Debian/Ubuntu
    sudo dnf install lm-sensors      # Fedora/CentOS/RHEL
    sudo pacman -S lm-sensors        # Arch/Manjaro
  • 配置与检测
    sudo sensors-detect --auto       # 自动探测传感器,全程回车确认
  • 查看温度
    sensors                          # 显示所有传感器数据
    sensors -j                       # JSON格式输出(便于脚本处理)
  • 输出解读示例
    coretemp-isa-0000
    Core 0:       +45.0°C  (high = +100.0°C, crit = +105.0°C)
    Core 1:       +44.0°C  (high = +100.0°C, crit = +105.0°C)

    专业提示:重点关注带coretemp的条目,警惕数值接近crit(临界温度)。

hddtemp (监控机械硬盘/SSD)

  • 安装
    sudo apt install hddtemp         # Debian/Ubuntu
    sudo dnf install hddtemp         # Fedora/CentOS/RHEL
  • 查看温度
    sudo hddtemp /dev/sda            # 指定磁盘路径(如sda, sdb)

    安全说明:部分硬盘需启用S.M.A.R.T.监控,运行sudo smartctl -s on /dev/sda激活。

nvme-cli (监控NVMe固态硬盘)

  • 安装
    sudo apt install nvme-cli        # Debian/Ubuntu
    sudo dnf install nvme-cli        # Fedora/CentOS/RHEL
  • 查看温度
    sudo nvme smart-log /dev/nvme0 | grep "Temperature"

    关键指标:输出中的Temperature即核心温度值(单位通常为摄氏度)。

集成工具:glances (实时综合监控)

  • 安装
    pip install glances              # 需Python环境
  • 运行
    glances                          # 实时显示CPU/内存/磁盘/网络及温度

    优势:直观的TUI界面,适合运维人员快速巡检。

    Linux如何监控CPU温度  第1张


服务器级方案:IPMI/BMC(企业级硬件)

  • 工具安装
    sudo apt install ipmitool         # Debian/Ubuntu
    sudo dnf install ipmitool         # Fedora/CentOS/RHEL
  • 查看温度传感器
    sudo ipmitool sdr type temperature
  • 实时监控
    sudo ipmitool sensor list         # 列出所有传感器(含电压、风扇转速)

    权限说明:需服务器主板支持IPMI,且系统加载ipmi_devintf内核模块(sudo modprobe ipmi_devintf)。


图形化工具(适合桌面用户)

  1. Psensor

    • 支持CPU/GPU/硬盘温度可视化
    • 安装:sudo apt install psensor (Ubuntu/Debian)
    • 特点:温度历史曲线、高温报警设置
  2. GNOME系统监视器

    • Ubuntu等GNOME桌面内置工具
    • 路径:应用程序系统工具系统监视器资源选项卡

GPU温度监控

NVIDIA显卡

nvidia-smi --query-gpu=temperature.gpu --format=csv,noheader

AMD显卡 (需ROCm)

sudo apt install rocm-smi             # 安装ROCm工具
rocm-smi --showtemp                  # 显示GPU温度

专业建议与风险预警

  1. 温度参考阈值

    • CPU:长期≤80°C (笔记本可放宽至95°C)
    • 机械硬盘:≤50°C
    • NVMe SSD:≤70°C(高性能盘可达100°C)
    • GPU:游戏负载≤85°C
  2. 高温处理步骤

    graph LR
    A[温度异常] --> B{硬件类型}
    B -->|CPU| C[检查散热器灰尘/硅脂]
    B -->|硬盘| D[优化机箱风道]
    B -->|GPU| E[更换散热垫/清灰]
    A --> F[使用`sudo powertop`分析功耗]
    A --> G[考虑BIOS/UEFI更新]
  3. 关键风险点

    • 持续高温将显著缩短SSD寿命(TBW下降)
    • 服务器硬盘阵列高温可能触发降速保护
    • 老旧硬件温度传感器可能失效(需交叉验证)

自动化监控方案

# 示例:每5分钟记录CPU温度到日志
(crontab -l ; echo "*/5 * * * * sensors | grep 'Core 0' >> /var/log/cpu_temp.log") | crontab -

企业级推荐:集成Prometheus+Grafana,通过node_exporter收集温度数据实现可视化告警。


:Linux温度监控需根据硬件类型选择工具,重点在于持续观察基线变化而非单次读数,对于生产环境,建议配置阈值告警(如使用mailutils发送邮件通知),防患于未然。


引用说明

  1. lm-sensors官方文档:https://hwmon.wiki.kernel.org/
  2. Linux内核硬件监控子系统:https://www.kernel.org/doc/html/latest/hwmon/
  3. NVMe协议温度字段定义:NVM Express Base Specification 2.0 Chapter 5.14
  4. S.M.A.R.T.标准:ANSI INCITS 447-2008
  5. 服务器硬件IPMI管理:https://www.intel.com/content/www/us/en/products/docs/servers/ipmi/ipmi-home.html
0