Hddtemp
ナビゲーションに移動
検索に移動
関連記事
hddtemp は S.M.A.R.T. によって (この機能をサポートしているドライブで) ハードドライブの温度を得ることができる小さなユーティリティです (デーモン付き)。
インストール
公式リポジトリから hddtemp をインストールして下さい。
使用方法
Hddtemp は root 権限を必要とします。hddtemp
コマンドには少なくとも1つのドライブの場所を指定する必要があり、複数のディレクトリを指定するときはスペースで区切ります:
# hddtemp /dev/sdX1 /dev/sdX2 ... /dev/sdXn
デーモン
デーモンを実行することで 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
詳しくは manpage を参照して下さい:
$ man hddtemp
モニター
Hddtemp はシステムモニターに統合させることができます。
ソリッドステートドライブ
通常 Hddtemp はドライブのスマートデータからフィールド 194
を読み取ります。SSD では基本的に温度情報はフィールド 190
に保存されています。この情報を取得するには、次を実行:
$ smartctl -a /dev/sdX
または:
$ hddtemp --debug /dev/sdX
X はドライブ文字に置き換えてください (例: a,b,c...)。ドライブ文字は lsblk
で確認できます。
また、/usr/share/hddtemp/hddtemp.db
に新しいエントリを追加することも可能です。例:
$ echo '"Samsung SSD 840 EVO 250G B" 190 C "Samsung SSD 840 EVO 250GB"' >> /usr/share/hddtemp/hddtemp.db