Connaître les températures de ses disques (HDD ou SSD) avec le module Linux drivetemp, c’est beaucoup plus simple qu’avec Smartmontools et Hddtemp et ça fonctionne à tous les coups.
Pour utiliser ce module, il vous faut un noyau Linux 5.11 ou supérieur.
Charger le module « drivetemp » et l'utiliser
Pour vous en servir tout de suite, vous devez le charger, taper la commande suivante :
sudo modprobe drivetemp
Pour le charger à chaque démarrage, il faut que vous créé un fichier drivetemp.conf
dans le répertoire /etc/modules-load.d/
. Dedans vous mettez drivetemp
.
Pour connaître les températures de ses disques durs, vous avez besoin d'installer lm_sensors
, vous utiliserez la commande sensors
.
Pour moi, ça donne ça :
drivetemp-scsi-5-0
Adapter: SCSI adapter
temp1: +40.0°C (low = +0.0°C, high = +60.0°C)
(crit low = -41.0°C, crit = +85.0°C)
(lowest = +38.0°C, highest = +40.0°C)
drivetemp-scsi-2-0
Adapter: SCSI adapter
temp1: +47.0°C (low = +0.0°C, high = +65.0°C)
(crit low = -40.0°C, crit = +70.0°C)
(lowest = +44.0°C, highest = +48.0°C)
k10temp-pci-00c3
Adapter: PCI adapter
temp1: +53.0°C (high = +70.0°C)
(crit = +71.0°C, hyst = +66.0°C)
radeon-pci-0100
Adapter: PCI adapter
temp1: +56.0°C (crit = +120.0°C, hyst = +90.0°C)
drivetemp-scsi-4-0
Adapter: SCSI adapter
temp1: +37.0°C (low = +0.0°C, high = +70.0°C)
(crit low = +0.0°C, crit = +70.0°C)
(lowest = +35.0°C, highest = +40.0°C)
drivetemp-scsi-0-0
Adapter: SCSI adapter
temp1: +43.0°C (low = +0.0°C, high = +60.0°C)
(crit low = -41.0°C, crit = +85.0°C)
(lowest = +42.0°C, highest = +46.0°C)
it8720-isa-0228
Adapter: ISA adapter
in0: 1.25 V (min = +0.00 V, max = +4.08 V)
in1: 1.60 V (min = +0.00 V, max = +4.08 V)
in2: 3.31 V (min = +0.00 V, max = +4.08 V)
+5V: 2.94 V (min = +0.00 V, max = +4.08 V)
in4: 3.04 V (min = +0.00 V, max = +4.08 V)
in5: 2.78 V (min = +0.00 V, max = +4.08 V)
in6: 4.08 V (min = +0.00 V, max = +4.08 V)
5VSB: 2.96 V (min = +0.00 V, max = +4.08 V)
Vbat: 3.34 V
fan1: 1090 RPM (min = 0 RPM)
fan2: 0 RPM (min = 0 RPM)
fan3: 917 RPM (min = 0 RPM)
fan4: 748 RPM (min = 0 RPM)
fan5: 906 RPM (min = 0 RPM)
temp1: +35.0°C (low = +127.0°C, high = +127.0°C) sensor = thermistor
temp2: +59.0°C (low = +127.0°C, high = +127.0°C) sensor = thermal diode
temp3: +61.0°C (low = +127.0°C, high = +127.0°C) sensor = thermistor
cpu0_vid: +1.050 V
intrusion0: ALARM
Vous voyez les paragraphes qui commence par drivetemp-scsi-
, et bien c'est ceux-là qui nous intéresse. Il liste toutes les informations dont on a besoin.
pour le premier paragraphe, prenons la première ligne :drivetemp-scsi-5-0
Vous avez la position sur laquelle est branché le disque dur, je sais, il n'est pas en SCSI, mais en SATA, mais c'est comme ça. Il est donc en SCSI 5-0.
Pour la seconde ligne :
temp1: +40.0°C (low = +0.0°C, high = +60.0°C)
Vous avez la température actuelle, et entre parenthèses les températures basses et hautes.
Pour la troisième ligne :
(crit low = -41.0°C, crit = +85.0°C)
Vous avez les températures critiques du disque dur.
Pour la quatrième ligne :
(lowest = +44.0°C, highest = +48.0°C)
Vous avez la plage de températures de fonctionnement normal.
Utiliser drivetemp avec une interface graphique
Bon, dans l'usage de tous les jours, ce n'est pas très pratique à utiliser, pour remédier à cela, je vais utiliser une interface graphique.
Avec GKrellM, ça ressemble à ça :
Les données de drivetemp sont reconnues automatiquement par GKrellM.
Avec Conky, ça peut ressembler à ça :
Pour configurer ça dans Conky, j'ai ajouté les trois lignes suivantes dans le fichier de configuration :
${color grey}Disque SSD 512 Go $color${voffset 0}${alignr}${execi 10 sensors drivetemp-scsi-0-0 | awk '/temp1/ {print $2}'}
${color grey}Disque HDD 8To $color${voffset 0}${alignr}${execi 10 sensors drivetemp-scsi-1-0 | awk '/temp1/ {print $2}'}
${color grey}Disque HDD 3To $color${voffset 0}${alignr}${execi 10 sensors drivetemp-scsi-5-0 | awk '/temp1/ {print $2}'}
Vous avez une liste non exhaustive des interfaces graphiques disponible ici:
https://wiki.archlinux.org/title/lm_sensors#Graphical_front-ends
Pour connaître à quel disque correspond drivetemp-scsi-X-X :
Rouvrez un terminal et tapez sensors
comme tout à l'heure.
Attardez-vous sur les lignes commençant par :
et drivetemp-scsi-
temp1
Laissez ce terminal ouvert.
Ouvrez en un autre et tapez la commande suivante :sudo lshw -class disk -class storage
Vous devez avoir plusieurs paragraphes, ceux des disques durs ressemblent à ça :
*-disk:0
description: ATA Disk
produit: WDC WD40EFRX-68W
fabriquant: Western Digital
identifiant matériel: 0
information bus: scsi@0:0.0.0
nom logique: /dev/sda
version: 0A80
numéro de série: WD-WCC4E0976998
taille: 3726GiB (4TB)
fonctionnalités: gpt-1.00 partitioned partitioned:gpt
configuration: ansiversion=5 guid=a6c62053-4c40-400a-9a8f-a54ac3e90ab5 logicalsectorsize=512 sectorsize=4096
Repérez la ligne information bus:
il est indiqué : scsi@0:0.0.0
, @0:0
correspond au bus SCSI trouvé avec la commande sensors
sur la ligne drivetemp-scsi-0-0
, dans le paragraphe, vous trouvez de quoi nommer le capteur : la référence, le nom logique (oui vous savez : /dev/sdx, ici c'est a au lieu du x), la taille en Gib et en TB, enfin vous avez l’embarra du choix.
Pour le nommage des capteurs dans votre moniteur graphique, ce n'est pas très compliqué.
Prenez la température du capteur et regardez celle qui correspond dans le terminal ou vous avez lancé sensors
, là, deux lignes plus haut vous avez le bus SCSI qui correspond à votre disque dur.
Revenez sur le terminal ou vous avez lancez sudo lshw -class disk -class storage
et vous avez toutes les informations pour renommer le nom de votre capteur.
Recommencez l'opération pour tous les capteurs de disques durs.
Voilà, c'est fini.