使用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,但建议查看完整属性表确认。
持续监控与自动化告警
若需长期监控磁盘温度,可结合脚本与定时任务实现自动检查:
MarsX
AI驱动快速构建App,低代码无代码开发,改变软件开发的游戏规则
159 查看详情
编写简单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
使用图形化工具(可选)
如果习惯图形界面,也可以使用以下工具:
GKrellM 或 psensor:支持显示硬盘温度的桌面监控工具。lm-sensors:主要用于CPU/主板温度,部分配置下也能整合磁盘温度。smartmontools + Web界面(如 smartd + email告警):适合服务器环境远程监控。
基本上就这些。只要磁盘支持SMART,用 smartctl 就能轻松读取温度。定期检查、设置阈值提醒,能有效避免因过热引发的数据丢失问题。不复杂但容易忽略。
以上就是Linux如何监控系统实时磁盘温度_Linuxtemps硬件监控方法的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/866226.html
微信扫一扫
支付宝扫一扫