如何在Linux上检查驱动器温度?


32

我已经使用过hdparm -nsmartctl -A但是它似乎总是一种“每个驱动器”的技术,因为驱动器可能仅对其中一种工具作出回答。

那么,有没有一种标准的方法来获取Linux(HDD或SSD)上的驱动器温度?如果没有,我可以使用哪些(其他)工具来获取此信息?

Answers:


39

我喜欢hddtemp,它提供了一种获取受支持设备温度的非常标准的方法。它需要SMART支持。

用法示例: sudo hddtemp /dev/sd[abcdefghi]

示例响应:

/ dev / sda:WDC WD6401AALS-00J7B0:31°C
/ dev / sdb:WDC WD7501AALS-00J7B0:30°C


2
可以一次列出多个驱动器hddtemp /dev/sd{a,b,c,d,e,f,g,h,i}
Xdg

4
更短的方法是hddtemp /dev/sd?
罗凡尼翁

1
hddtemp /dev/sd[abcdefghi]也可以工作,并节省您的手指。
Serge Stroobandt

1
/dev/sd?腾出更多的手指。
kkm

1
不要忘记某些设备的type前缀(PATA/ SATA/ SCSI)。这个8托架UASP塔需要SATA前缀,否则我没有任何温度:sudo hddtemp SATA:/dev/sd{a..h}
genpfault

6

所有支持SMART的设备均应响应smartctl。我认为只有智能设备才能读取温度。

所有其他工具或多或少都可能是特定于供应商的(例如Dell的omsa)。IPMI可能是另一种通用方法,但是我怀疑存储设备的温度读取在那里是标准的。


3

如Rovanion所述,一次性列出所有驱动器:

hddtemp /dev/sd?

或者,如果您喜欢for循环:

for i in /dev/sd[a-z]; do hddtemp "$i"; done

1
不要循环过来ls。这是正确的方法:for i in /dev/sd[a-z]; do hddtemp "$i"; done
已暂停,直到另行通知。

0

您可能想要尝试另外watch "sensors && sudo hddtemp /dev/sd?"提供CPU和其他温度信息的信息。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.