Hddtemp

提供: ArchWiki
ナビゲーションに移動 検索に移動

関連記事

hddtempS.M.A.R.T. によって (この機能をサポートしているドライブで) ハードドライブの温度を得ることができる小さなユーティリティです (デーモン付き)

ヒント: ドライブの温度にアクセスするためのより汎用性の高いオプションは lm_sensors で、他のデータも処理します。

インストール

hddtemp パッケージをインストールして下さい。

使用方法

Hddtemp には Root user 権限が必要です。hddtemp コマンドの後には、少なくとも 1 つのドライブの場所を指定する必要があります。複数のドライブをスペースで区切ってリストできます。

# hddtemp /dev/disk/by-id/wwn-0x60015ee0000b237f /dev/sdX2 ... /dev/sdXn
ノート: /dev/sdX など、/dev/ のブロックデバイスの名前が一貫していません。詳細については、永続的なブロックデバイスの命名 を参照してください。

使用方法の詳細については、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有効化 して、Conky 設定ファイルに $hddtemp °C を追加するだけです。

ソリッドステートドライブ

通常 Hddtemp はドライブのスマートデータからフィールド 194 を読み取ります。SSD では基本的に温度情報はフィールド 190 に保存されています。この情報を取得するには、次のコマンドを実行します。:

# smartctl --all /dev/sdx

または:

# hddtemp --debug /dev/sdx

X はドライブ文字に置き換えてください (例: a,b,c...)。ドライブ文字は lsblk で確認できます。

また、/usr/share/hddtemp/hddtemp.db に新しいエントリを追加することも可能です。例:

# echo '"Samsung SSD 840 EVO 250GB" 190 C "Samsung SSD 840 EVO 250GB"' >> /etc/hddtemp.db