Hddtemp
Hddtemp 是一个小型实用程序(带有守护进程),它通过 S.M.A.R.T.(适用于支持此功能的驱动器)提供硬盘温度。
安装
用法
Hddtemp 需要 Root 用户权限。命令 hddtemp
后面必须跟至少一个驱动器的位置。您可以列出多个驱动器,用空格分隔
# hddtemp /dev/disk/by-id/wwn-0x60015ee0000b237f /dev/sdX2 ... /dev/sdXn
/dev/sdX
)是不一致的。请参阅 永久块设备命名 以获取更多信息。更多用法信息请参见 hddtemp(8)。
守护进程
运行守护进程允许普通用户通过 TCP/IP 访问温度信息。这对于脚本和系统监视器很有用。
守护进程由 hddtemp.service
控制。
要获取温度,请连接到监听端口 7634 的守护进程。
使用 inetutils
$ telnet localhost 7634
使用 gnu-netcat
$ nc localhost 7634
两种输出都类似于
|/dev/sda|ST3500413AS|32|C||/dev/sdb|ST2000DM001-1CH164|36|C|
为了获得更好看的数据
$ nc localhost 7634 |sed 's/|//m' | sed 's/||/ \n/g' | awk -F'|' '{print $1 " " $3 " " $4}'
/dev/sda 32 C /dev/sdb 36 C
覆盖默认磁盘
默认的 Hddtemp 守护进程仅监视 /dev/sda
。如果您有多个磁盘,则需要 覆盖 默认配置以监视它们。
如果您需要知道哪些硬盘驱动器支持监视,可以使用 smartmontools 进行检查。 编辑 hddtemp.service
[Service] ExecStart= ExecStart=/usr/bin/hddtemp --daemon --foreground /dev/disk/by-id/wwn-0x60015ee0000b237f /dev/sdb --listen=127.0.0.1
将设备名称更改为您要监视的名称。
编辑完成后,保存文件并退出编辑器。Systemd 将自动应用更改并重新加载 hddtemp
服务。
您还可以使用 auto-generate 脚本,它将使用 smartmontools 检测受支持的硬盘驱动器并打印到 stdout。
监视器
Hddtemp 可以与 系统监视器 集成。Conky 在守护进程模式下内置了对 Hddtemp 的支持。只需 启用 hddtemp.service
并将 $hddtemp °C
添加到您的 Conky 配置文件中。
固态硬盘
Hddtemp 通常从驱动器的 smart 数据中读取字段 194
。在 SSD 中,温度信息通常存储在字段 190
中。要获取这些信息,可以运行
# smartctl --all /dev/sdx
或
# hddtemp --debug /dev/sdx
其中 /dev/sdx
是驱动器(使用 lsblk 检查)。
或者,在 /etc/hddtemp.db
中添加一个新条目。例如
# echo '"Samsung SSD 840 EVO 250GB" 190 C "Samsung SSD 840 EVO 250GB"' >> /etc/hddtemp.db