LINUX:Surveiller la température
But
Une série de logiciels permettent de surveiller la température de divers éléments d'un ordinateur.
Certains servent à charger des pilotes dans le système afin d'effectuer cette surveillance sur les éléments de la machine qui le supporte.
D'autres permettent de les interroger.
Pilotes de surveillance de la température
Sensors
Les pilotes Sensors permettent de surveiller les puces de la carte mère et de divers cartes connectées sur celle-ci.
DriveTemp
Le pilote DriveTemp permet de surveiller la température des disques durs.
Consultation
Sensors
La commande:
sensors
vue dans l'article sur Sensors et DriveTemp est utilisée dans le rapport vu dans l'article sur LogWatch.
HddTemp
Ce programme permet de consulter la température des disques durs.
Installation
On doit auparavant l'installer:
dnf install hddtemp
Exécution
On peut dès lors l'exécuter en spécifiant le ou les devices ciblés:
hddtemp /dev/sd?
qui donne:
/dev/sda: WDC WD5000AAKX-001CA0: 48°C /dev/sdb: WDC WD5000AAKX-603CA0: 49°C /dev/sdc: ST3500320NS: 41°C /dev/sdd: WDC WD10EALX-009BA0: 49°C
en correspondance aux disques durs de l'exemple dans l'article sur SmartMonTools.
Lshw et Inxi
Le programme "inxi" permet d'afficher diverses informations sur le système de façon plus ludique que le programme "Lshw".
Installation
Pour installer le programme "lshw", on exécute:
dnf install lshw
et pour le programme "inxi":
dnf install inxi
Exécution
Le programme est moins facile d'utilisation; voici un exemple concernant les disques durs:
lshw -class disk
qui donne:
*-disk:0
description: ATA Disk
product: WDC WD5000AAKX-0
vendor: Western Digital
physical id: 0
bus info: scsi@0:0.0.0
logical name: /dev/sda
version: 1H15
serial: WD-WCAYUHL91712
size: 465GiB (500GB)
capabilities: gpt-1.00 partitioned partitioned:gpt
configuration: ansiversion=5 guid=0f487a34-682c-49e4-83d2-dc5f2579a4da logicalsectorsize=512 sectorsize=512
*-disk:1
description: ATA Disk
product: WDC WD5000AAKX-6
vendor: Western Digital
physical id: 0.1.0
bus info: scsi@0:0.1.0
logical name: /dev/sdb
version: 1H18
serial: WD-WCAYUHC98423
size: 465GiB (500GB)
capabilities: gpt-1.00 partitioned partitioned:gpt
configuration: ansiversion=5 guid=3d1e8912-683c-4333-b733-c348c04122fc logicalsectorsize=512 sectorsize=512
*-disk:2
description: ATA Disk
product: ST3500320NS
physical id: 1
bus info: scsi@1:0.0.0
logical name: /dev/sdc
version: SN06
serial: 9QMBXHBS
size: 465GiB (500GB)
capabilities: gpt-1.00 partitioned partitioned:gpt
configuration: ansiversion=5 guid=f8e6b0c1-f811-4725-ad4b-aa5a912693bf logicalsectorsize=512 sectorsize=512
*-disk
description: ATA Disk
product: WDC WD10EALX-009
vendor: Western Digital
physical id: 0.0.0
bus info: scsi@2:0.0.0
logical name: /dev/sdd
version: 1H15
serial: WD-WCATR8931870
size: 931GiB (1TB)
capabilities: gpt-1.00 partitioned partitioned:gpt
configuration: ansiversion=5 guid=c80d4448-f9ab-4e36-97ea-781308019be3 logicalsectorsize=512 sectorsize=512
Il n'affiche pas la température monitorée.
De son côté, le programme "inxi" possède nombre d'options.
Par exemple, la commande:
inxi -F
donne toutes les informations en résumé ("F" comme full).
Si on veux plus d'informations, on ajoute un "x" jusqu'à trois fois:
inxi -Fx
ou
inxi -Fxx
ou la totale:
inxi -Fxxx
Si on veux se restreindre aux disques durs, on utilise l'option "D":
inxi -D
qui donne:
Drives: Local Storage: total: 2.27 TiB used: 511.76 GiB (22.0%) ID-1: /dev/sda vendor: Western Digital model: WD5000AAKX-001CA0 size: 465.76 GiB ID-2: /dev/sdb vendor: Western Digital model: WD5000AAKX-603CA0 size: 465.76 GiB ID-3: /dev/sdc vendor: Seagate model: ST3500320NS size: 465.76 GiB ID-4: /dev/sdd vendor: Western Digital model: WD10EALX-009BA0 size: 931.51 GiB
La commande:
inxi -Dx
affiche en plus la température des disques:
Drives: Local Storage: total: 2.27 TiB lvm-free: 4 MiB used: 511.76 GiB (22.0%) ID-1: /dev/sda vendor: Western Digital model: WD5000AAKX-001CA0 size: 465.76 GiB temp: 48.0 C ID-2: /dev/sdb vendor: Western Digital model: WD5000AAKX-603CA0 size: 465.76 GiB temp: 49.0 C ID-3: /dev/sdc vendor: Seagate model: ST3500320NS size: 465.76 GiB temp: 41.0 C ID-4: /dev/sdd vendor: Western Digital model: WD10EALX-009BA0 size: 931.51 GiB temp: 49.0 C
et la totale:
inxi -Dxxx
Drives: Local Storage: total: 2.27 TiB lvm-free: 4 MiB used: 511.76 GiB (22.0%) ID-1: /dev/sda vendor: Western Digital model: WD5000AAKX-001CA0 size: 465.76 GiB speed: 3.0 Gb/s tech: N/A serial: WD-WCAYUHL91712 fw-rev: 1H15 temp: 48.0 C scheme: GPT ID-2: /dev/sdb vendor: Western Digital model: WD5000AAKX-603CA0 size: 465.76 GiB speed: 3.0 Gb/s tech: HDD rpm: 7200 serial: WD-WCAYUHC98423 fw-rev: 1H18 temp: 49.0 C scheme: GPT ID-3: /dev/sdc vendor: Seagate model: ST3500320NS size: 465.76 GiB speed: 3.0 Gb/s tech: HDD rpm: 7200 serial: 9QMBXHBS fw-rev: SN06 temp: 41.0 C scheme: GPT ID-4: /dev/sdd vendor: Western Digital model: WD10EALX-009BA0 size: 931.51 GiB speed: 3.0 Gb/s tech: N/A serial: WD-WCATR8931870 fw-rev: 1H15 temp: 49.0 C scheme: GPT
Fichiers système
Toute information est consultable directement dans les fichiers du système.
Voici un script qui donne un aperçu:
#!/bin/bash
echo -e "Device\tTempérature\tTaille\tDisque"
echo "================================================"
liste=`grep -l "drivetemp" /sys/class/hwmon/hwmon*/name`
for disque in $liste
do
DISQUE=`ls ${disque%/*}/device/scsi_disk/*/device/block`
MODELE=`cat ${disque%/*}/device/model`
TEMP=$((`cat ${disque%/*}/temp1_input`/1000))
SECTEUR=`cat /sys/class/block/$DISQUE/size`
BLOCK=`cat /sys/class/block/$DISQUE/queue/logical_block_size`
TAILLE=$(($SECTEUR*$BLOCK/1000/1000/1000))
echo -n $DISQUE
echo -n -e "\t"
echo -n $TEMP
echo -n " Celcius"
echo -n -e "\t"
echo -n $TAILLE GB
echo -n -e "\t"
echo $MODELE
done
qui donne:
Device Température Taille Disque ================================================ sda 48 Celcius 500 GB WDC WD5000AAKX-0 sdb 49 Celcius 500 GB WDC WD5000AAKX-6 sdc 41 Celcius 500 GB ST3500320NS sdd 49 Celcius 1000 GB WDC WD10EALX-009