私はhdparm -n
とsmartctl -A
を使用しましたが、ドライブはこれらのツールの1つしか応答しない可能性があるため、常に「ドライブごと」の手法のように見えます。
では、Linux(HDDまたはSSD)でドライブの温度を取得する標準的な方法はありますか?そうでない場合、どのような(その他の)ツールを使用してこの情報を取得できますか?
私はhddtemp
が好きです。これは、サポートされているデバイスの温度を取得するかなり標準的な方法を提供します。 SMARTサポートが必要です。
使用例:Sudo hddtemp /dev/sd[abcdefghi]
応答の例:
/ dev/sda:WDC WD6401AALS-00J7B0:31°C
/dev/sdb:WDC WD7501AALS-00J7B0:30°C
すべてのSMART対応デバイスはsmartctl
に応答する必要があります。そして、私はスマートデバイスだけが温度測定値を持っていると思います。
他のすべてのツールは、多かれ少なかれベンダー固有です(Dellのomsaなど)。 [〜#〜] ipmi [〜#〜] は別の一般的なアプローチかもしれませんが、ストレージデバイスの温度読み取りが標準で行われているのではないかと思います。
Rovanionが述べたように、すべてのドライブを一度にリストするには:
hddtemp /dev/sd?
または、forループを使用する場合:
for i in /dev/sd[a-z]; do hddtemp "$i"; done
watch "sensors && Sudo hddtemp /dev/sd?"
は、CPUおよびその他の温度情報を追加で提供します。