信息发布→ 登录 注册 退出

Linux如何监控系统实时磁盘温度_Linuxtemps硬件监控方法

发布时间:2025-11-24

点击量:
使用smartctl工具可监控Linux系统磁盘温度,预防硬件故障。首先通过sudo smartctl -i /dev/sda确认SMART支持并启用,若显示Available需用sudo smartctl -s on /dev/sda开启。随后执行sudo smartctl -A /dev/sda | grep Temperature_Celsius获取当前温度,常见ID为194,末尾数值即摄氏度。为实现持续监控,可编写Shell脚本提取温度值并判断是否超限,结合crontab每5分钟运行一次,触发告警时记录日志。此外,GKrellM、psensor等图形工具或smartd配合Web界面也适用于本地或服务器环境远程监控。定期检查磁盘温度能有效避免过热导致的数据丢失。

Linux系统中监控磁盘温度对预防硬件故障、保障数据安全非常重要。硬盘长时间高温运行容易导致坏道甚至损坏,通过 smartctl 工具结合 SMART(Self-Monitoring, Analysis, and Reporting Technology)功能,可以实时查看磁盘健康状态和温度信息。

确认磁盘支持SMART并启用

大多数现代SATA、NVMe和部分SCSI硬盘都支持SMART技术,但需要先确认是否启用:

  • 使用命令查看磁盘是否支持SMART:
    sudo smartctl -i /dev/sda
    (将 /dev/sda 替换为你的磁盘设备名)
  • 输出中若显示 SMART support is: Available 表示支持;若为 Enabled 则已开启。
  • 如未启用,可用以下命令开启:
    sudo smartctl -s on /dev/sda

查看磁盘当前温度

获取磁盘温度最直接的方式是读取SMART属性中的“Temperature_Celsius”字段:

  • 执行命令:
    sudo smartctl -A /dev/sda | grep Temperature_Celsius
  • 输出示例:
    194 Temperature_Celsius 0x0022 060 055 000 Old_age Always - 37
    其中末尾的数字(如37)即当前温度(单位:摄氏度)。
  • 不同厂商可能使用不同ID表示温度,常见的是ID 194,但建议查看完整属性表确认。

持续监控与自动化告警

若需长期监控磁盘温度,可结合脚本与定时任务实现自动检查:

  • 编写简单Shell脚本(如 disk_temp.sh):
  • #!/bin/bash
    TEMP=$(sudo smartctl -A /dev/sda | grep Temperature_Celsius | awk '{print $10}')
    echo "$(date): Disk temperature = ${TEMP}°C"
    if [ $TEMP -gt 50 ]; then
      logger "High disk temperature detected: ${TEMP}°C"
    fi
  • 赋予执行权限:
    chmod +x disk_temp.sh
  • 添加到crontab每5分钟运行一次:
    */5 * * * * /path/to/disk_temp.sh

使用图形化工具(可选)

如果习惯图形界面,也可以使用以下工具:

  • GKrellMpsensor:支持显示硬盘温度的桌面监控工具。
  • lm-sensors:主要用于CPU/主板温度,部分配置下也能整合磁盘温度。
  • smartmontools + Web界面(如 smartd + email告警):适合服务器环境远程监控。

基本上就这些。只要磁盘支持SMART,用 smartctl 就能轻松读取温度。定期检查、设置阈值提醒,能有效避免因过热引发的数据丢失问题。不复杂但容易忽略。

标签:# if  # 可选  # 可以使用  # 适用于  # 长时间  # 也能  # 就能  # 定期检查  # 的是  # 远程监控  # 自动化  # date  # linux  # print  # echo  # bash  # 数据丢失  # shell脚本  # linux系统  # ai  # 工具  # 硬盘  # 主板  
在线客服
服务热线

服务热线

4008888355

微信咨询
二维码
返回顶部
×二维码

截屏,微信识别二维码

打开微信

微信号已复制,请打开微信添加咨询详情!