Hddtemp: Difference between revisions
Ash Ketchum (talk | contribs) (→Override default disk: fix style) |
m (fix broken section link) |
||
Line 8: | Line 8: | ||
{{Related|Conky}} | {{Related|Conky}} | ||
{{Related articles end}} | {{Related articles end}} | ||
[https://savannah.nongnu.org/projects/hddtemp/ Hddtemp] is a small utility (with daemon) that gives the hard-drive temperature via [[S.M.A.R.T.]] (for drives supporting this feature). | [https://savannah.nongnu.org/projects/hddtemp/ Hddtemp] is a small utility (with daemon) that gives the hard-drive temperature via [[S.M.A.R.T.]] (for drives supporting this feature). | ||
Line 29: | Line 30: | ||
== Daemon == | == Daemon == | ||
Running the daemon allows access to the temperature information via TCP/IP as a regular user. This is useful for scripts and system monitors. | Running the daemon allows access to the temperature information via TCP/IP as a regular user. This is useful for scripts and system monitors. | ||
The daemon is [[Systemd#Using units|controlled]] by {{ic|hddtemp.service}}. | The daemon is [[Systemd#Using units|controlled]] by {{ic|hddtemp.service}}. | ||
Line 41: | Line 42: | ||
$ nc localhost 7634 | $ nc localhost 7634 | ||
Both outputs are similar to: | Both outputs are similar to: | ||
|/dev/sda|ST3500413AS|32|C||/dev/sdb|ST2000DM001-1CH164|36|C| | |/dev/sda|ST3500413AS|32|C||/dev/sdb|ST2000DM001-1CH164|36|C| | ||
For a better looking statistic: | For a better looking statistic: | ||
{{hc|<nowiki>$ nc localhost 7634 |sed 's/|//m' | sed 's/||/ \n/g' | awk -F'|' '{print $1 " " $3 " " $4}'</nowiki>|/dev/sda 32 C | {{hc|<nowiki>$ nc localhost 7634 |sed 's/|//m' | sed 's/||/ \n/g' | awk -F'|' '{print $1 " " $3 " " $4}'</nowiki>|/dev/sda 32 C | ||
Line 68: | Line 69: | ||
== Monitors == | == Monitors == | ||
Hddtemp can be integrated with [[List of applications#System monitors|system monitors]]. [[Conky]] has built in support for Hddtemp in daemon mode. Just [[enable]] {{ic|hddtemp.service}} and add {{ic|$hddtemp °C}} to your Conky configuration file. | Hddtemp can be integrated with [[List of applications/Utilities#System monitors|system monitors]]. [[Conky]] has built in support for Hddtemp in daemon mode. Just [[enable]] {{ic|hddtemp.service}} and add {{ic|$hddtemp °C}} to your Conky configuration file. | ||
== Solid State Drives == | == Solid State Drives == |
Latest revision as of 13:33, 28 January 2024
Hddtemp is a small utility (with daemon) that gives the hard-drive temperature via S.M.A.R.T. (for drives supporting this feature).
Installation
Usage
Hddtemp requires Root user privileges. The command hddtemp
must be followed by at least one drive's location. You can list several drives separated by spaces:
# hddtemp /dev/disk/by-id/wwn-0x60015ee0000b237f /dev/sdX2 ... /dev/sdXn
/dev/
, like /dev/sdX
, is inconsistent. See Persistent block device naming for more information.
Further usage information is available in hddtemp(8).
Daemon
Running the daemon allows access to the temperature information via TCP/IP as a regular user. This is useful for scripts and system monitors.
The daemon is controlled by hddtemp.service
.
To get the temperature, connect to the daemon which listens on port 7634.
With inetutils:
$ telnet localhost 7634
With gnu-netcat:
$ nc localhost 7634
Both outputs are similar to:
|/dev/sda|ST3500413AS|32|C||/dev/sdb|ST2000DM001-1CH164|36|C|
For a better looking statistic:
$ nc localhost 7634 |sed 's/|//m' | sed 's/||/ \n/g' | awk -F'|' '{print $1 " " $3 " " $4}'
/dev/sda 32 C /dev/sdb 36 C
Override default disk
The default Hddtemp daemon only monitors /dev/sda
. If you have multiple disks, you need to override the default configuration to monitor them.
If you will need to know which hard drives support monitoring, you can check with smartmontools. Edit hddtemp.service
:
[Service] ExecStart= ExecStart=/usr/bin/hddtemp --daemon --foreground /dev/disk/by-id/wwn-0x60015ee0000b237f /dev/sdb --listen=127.0.0.1
Change the device names to the ones you want to monitor.
After editing, save the file and exit from editor. Systemd will apply changes and reload hddtemp
service automatically.
You can also use the auto-generate script will detect supported hard drives using smartmontools and print to the stdout.
Monitors
Hddtemp can be integrated with system monitors. Conky has built in support for Hddtemp in daemon mode. Just enable hddtemp.service
and add $hddtemp °C
to your Conky configuration file.
Solid State Drives
Hddtemp usually reads field 194
from the smart data of the drive. In SSDs temperature information is usually stored in field 190
. To obtain these information, one can run:
# smartctl --all /dev/sdx
or
# hddtemp --debug /dev/sdx
where /dev/sdx
is the drive (use lsblk to check this).
Alternatively, add a new entry in /etc/hddtemp.db
. For example:
# echo '"Samsung SSD 840 EVO 250GB" 190 C "Samsung SSD 840 EVO 250GB"' >> /etc/hddtemp.db