我曾经使用过hdparm -n
和 ,smartctl -A
但它似乎总是一种“每个驱动器”技术,因为驱动器可能只适用于这些工具中的一个。
那么,有没有一种标准方法可以获取 Linux 上的驱动器温度(HDD 或 SSD)?如果没有,我可以使用哪些(其他)工具来获取此信息?
答案1
我喜欢hddtemp
,它提供了一种获取受支持设备温度的标准方法。但它需要 SMART 支持。
用法示例:sudo hddtemp /dev/sd[abcdefghi]
响应示例:
/dev/sda:WDC WD6401AALS-00J7B0:31°C
/dev/sdb:WDC WD7501AALS-00J7B0:30°C
答案2
所有具有 SMART 功能的设备都应响应smartctl
.我猜想只有智能设备才有温度读数。
所有其他工具可能或多或少都是特定于供应商的(如戴尔的 omsa)。智能制造管理接口可能是另一种通用方法,但我怀疑存储设备的温度读数是否是标准的。
答案3
正如 Rovanion 所提到的,要一次性列出所有驱动器:
hddtemp /dev/sd?
或者,如果您更喜欢 for 循环:
for i in /dev/sd[a-z]; do hddtemp "$i"; done
答案4
您可能还想尝试一下watch "sensors && sudo hddtemp /dev/sd?"
它还提供 cpu 和其他温度信息。