HDPARM
hdparm est un utilitaire logiciel pour obtenir ou positionner les paramètres de disque dur. Il s'utilise en mode console ou par le biais d'un fichier de configuration.
Il fournit une interface en ligne de commande sur les contrôles d'entrée et sortie de disque dur, supporté par le pilote de périphérique Linux ATA/IDE.
hdparm
avec le code source des derniers noyaux.
Pré-requis
- Disposer des droits d'administration.
etc/hdparm.conf
Installation
Configuration
Fichier de configuration
Pour utiliser hdparm
, vous pouvez éditer le fichier /etc/hdparm.conf.
Les options à préciser sont les mêmes qu'en mode console.
Exemples
Exemple 1
/dev/hda { io32_support = 1 dma = on write_cache = on }
Ici, on active le support en 32 bits, la gestion DMA, et le mode de cache pour l'écriture.
Exemple 2
command_line { hdparm -q -m16 -q -W0 -q -d1 /dev/hda }
Ici, on paramètre le nombre de secteur à 16 pour les entrées-sorties des secteurs multiples, on désactive la fonction d'écriture-cache, et on active la gestion DMA sur le premier disque dur.
Exemple 3
Pour visualiser et tester les vitesses de lecture (vitesses moyennes):
sudo hdparm -tT /dev/sda5
/dev/sda5:
Timing cached reads: 13958 MB in 2.00 seconds = 6989.03 MB/sec - débit en lecture de la mémoire cache RAM (DDR3) + éventuellement swap si la ram est saturée.
Timing buffered disk reads: 272 MB in 3.02 seconds = 90.19 MB/sec - débit en lecture du disque dur dans la partition /dev/sda5
Console
Il est possible d'utiliser hdparm
en mode console en spécifiant des options.
ou en utilisant le fichier de config.
Utilisation
hdparm [ drapeau ] [ périphérique ]
Où [ périphérique ] peut être une liste de disques ex : /dev/sd[a-e]
Si aucune option, ou drapeau, n'est donnée en paramètre, ce sont les options -acdgkmur qui sont validées par défaut.
Liste des options (commande et fichier de configuration)
-a
Obtenir ou paramétrer le nombre de secteurs lisibles pour le système de fichiers par tête de lecture.
⇒ Paramètre fichier config : read_ahead_sect = 12
-A
Activer ou non les fonctionnalités du lecteur IDE. Par défaut, activé.
Usage :
- -A0 : désactive
- -A1 : active
⇒ Paramètre fichier config : lookahead = on
-b
Obtenir ou paramétrer l'état du bus.
⇒ Paramètre fichier config : bus = on
-B
Paramétrer les fonctions d'APM, si le lecteur le supporte.
Usage :
- Une valeur basse sera agressive au niveau de la gestion
- Une valeur haute donnera les meilleures performances
- Une valeur égale à 255 désactivera l
'apm
sur le disque.
⇒ Paramètre fichier config : apm = 255
-c
Activer et/ou interroger le support IO 32 bits (E)IDE.
Usage :
- 0 : désactive
- 1 : active
- 3 : active les transferts de données par une séquence de synchronisation spécifique à certains chipsets.
⇒ Paramètre fichier config : io32_support = 1
-C
Interroge l'état du mode du périphérique courant.
Les états peuvent être :
- unknown - inconnu - : dans ce cas, le périphérique ne supporte pas cette fonctionnalité
- active/idle - actif -
- standby : mode économie d'énergie
- sleeping : mode où le périphérique est "endormi".
-d
Active ou non le drapeau pour utiliser le dma
.
⇒ Paramètre fichier config :dma = off
-D
Active ou non la fonctionnalité de gestion de défectuosité.
⇒ Paramètre fichier config : defect_mana = off
-E
Paramètre la vitesse du lecteur cdrom.
⇒ Paramètre fichier config : cd_speed = 16
-f
Synchronise et vide la mémoire tampon allouée au périphérique à l'extinction.
-g
Affiche la géométrie du disque - cylindres, têtes, secteurs - la taille en nombre de secteur du périphérique, l'offset de démarrage.
-h
Affiche les informations d'aide.
-H
Lit la température de certains périphériques (plus communément Hitachi).
-i
Affiche les informations d'identification qui sont obtenus au démarrage par le périphérique, si elles sont disponibles. C'est une fonctionnalité propre aux périphériques modernes, et peut ne pas être supportée par de vieux disques.
-I
Interroge les informations d'identification au format étendu, restituant plus de détails.
- --Istdin : C'est une variation spéciale de l'option -I, qui accepte un bloc d'identification de périphérique comme entrée standard par l'usage des paramètres /dev/hd*
- --Istdout : Cette option envoie les données d'identification du périphérique en hexadécimal vers la sortie standard, dans le même format que les fichiers /proc/ide/*/hd*/identify
-k
Obtenir ou paramétrer le drapeau "keep_settings_over_reset" pour le périphérique.
⇒ Paramètre fichier config : keep_settings_over_reset = off
-K
Paramétrer le drapeau "keep_features_over_reset" pour le périphérique.
⇒ Paramètre fichier config : keep_features_over_reset = on
-L
Paramétrer le drapeau de verrouillage du périphérique.
-m
Obtenir ou paramétrer le nombre de secteur pour les secteurs multiples d'entrées/sorties du périphérique.
Usage :
- 0 : désactive
- 2, 4, 8, 16 ou 32
⇒ Paramètre fichier config : mult_sect_io = 32
-M
Obtenir ou paramétrer la gestion AMM - Automatic Acoustic Management. Les disques ont aujourd'hui la capacité de réduire la vitesse de déplacement des têtes afin de réduire le bruit de fonctionnement.
Usage :
- De 0 à 254
- 128 est le plus silencieux, 254 est le plus rapide
⇒ Paramètre fichier config : acoustic_management
-n
Obtenir ou paramétrer le drapeau "ignore write errors".
-p
Essaye de reprogrammer la puce de l'interface IDE, ou d'auto-programmer le meilleur mode PIO supporté.
⇒ Paramètre fichier config : chipset_pio_mode
-P
Paramétrer le nombre maximal de secteur pour le mécanisme interne du périphérique.
⇒ Paramètre fichier config : prefetch_sect = 12
-q
Supprime tous les messages, sauf les messages d'erreur.
-Q
Paramétrer la profondeur de la queue.
Usage :
- 0 : désactive
- 1 : active
-r
Obtenir ou paramétrer en lecture seule.
⇒ Paramètre fichier config : read_only = off
-R
Enregistrer l'interface IDE. DANGEREUX.
-s
Active ou non la fonctionnalité de stand-by de l'alimentation, si le périphérique le supporte. TRÈS DANGEREUX.
⇒ Paramètre fichier config : poweron_standby = off
-S
Paramétrer le temps mort du stand-by de périphérique.
Usage :
- 0 : désactive ; le périphérique ne rentrera pas en mode stand-by.
- De 1 à 240 : spécifie des multiples de 5 secondes, avec des temps morts de 5 secondes à 20 minutes.
- De 241 à 251 : spécifie de 1 à 11 unités de temps de 30 minutes chacune, avec des temps morts de 30 minutes à 5 h 30.
- 252 : spécifie un temps mort de 21 minutes.
- 253 : est une période de temps mort définie par le fabriquant, entre 8 à 12 heures.
- 254 : réservée !
- 255 : est interprétée comme 21 minutes plus 15 secondes.
⇒ Paramètre fichier config : spindown_time = 24
-t
Benchmark des temps de lecture du disque et propose un comparatif. Opération effectuée durant 2-3 secondes.
-T
Benchmark des temps de lecture du cache et propose un comparatif. Opération effectuée durant 2-3 secondes.
-u
Obtenir ou paramétrer le drapeau "interruption non masquée" du périphérique.
⇒ Paramètre fichier config : interrupt_unmask = on
-U
Supprimer une interface IDE. DANGEREUX. Compagnon de l'option -R
-v
Affiche les paramètres basiques, tel que -acdgkmur pour IDE. C'est le comportement par défaut quand aucune option ou drapeau n'est spécifiée.
- --verbose : affiche des informations plus complètes, à propos de certaines commandes.
-w
Exécute un reset
matériel. DANGEREUX.
-W
Obtenir ou paramétrer la fonctionnalité d'écriture-cache des disques IDE/SATA.
⇒ Paramètre fichier config : write_cache = off
-x
Dispositif Tristate pour HotSwap.
-X
Paramètre le mode de transfert IDE pour les récents disques dur (E)IDE/ATA.
Usage :
- -X mdma2 : sélectionne le mode 2 DMA multiwords.
- -X sdma1 : sélectionne le mode 1 DMA simple.
- -X udma2 : sélectionne le mode 2 UltraDMA.
- Pour utiliser les modes de transfert PIO et paramétrer la valeur, ajoutez 8 au mode PIO désiré.
- PIO mode 1 : 09
- PIO mode 2 : 10
- PIO mode 3 : 11
- 00 : restaure les paramètres par défaut.
- 01 : désactive
- Pour utiliser les modes de transfert multiwords DMA, ajoutez 32 au mode DMA désiré.
- Pour utiliser les modes de transfert UltraDMA, ajoutez 64 …
⇒ Paramètre fichier config : transfer_mode = 34
-y
Force le périphérique IDE à entrer immédiatement en mode de basse consommation.
⇒ Paramètre fichier config : standby
-Y
Force le périphérique IDE à entrer immédiatement en mode de sommeil. Seul un reset
matériel ou logiciel peut réveiller le périphérique.
⇒ Paramètre fichier config : sleep
-z
Force le noyau à lire à nouveau la table de partition d'un périphérique spécifié.
-Z
Désactive les fonctionnalités automatiques d'économie d'énergie, pour certains périphériques de marque Seagate (modèle ST3xxx ?) .
⇒ Paramètre fichier config : disable_seagate
Sécurités ATA
Ces sécurités sont expérimentales, DANGEREUSES.
Cas d'usage
Gestion d'énergie
- Vérifier que le disque supporte la fonctionnalité de gestion d'énergie (APM pour Advanced power management) :
sudo hdparm -I /dev/sd[X] | grep level
(où [X] est une lettre (entre a et z) représentant votre disque dur).
- S'il le disque le supporte, vous obtiendrez un nombre (254 par défaut), et vous pouvez continuer.
- Sinon, il est seulement possible de le mettre en veille (arrêt de la rotation des plateaux : spin down) une fois et il se relancera dès qu'il sera sollicité :
sudo hdparm -y /dev/sd[X]
- Si supporté, essayer la mise en veille au bout de 5 secondes :
sudo hdparm -S 1 /dev/sd[X]
Remarque : le chiffre 1 correspond au temps par multiples de 5 secondes.
- Consulter l'état courant :
sudo hdparm -C /dev/sd[X]
Remarque : il n'est pas possible de connaître les durées courantes de mise en veille du disque (évolution demandée)
Pour les disques qui ne le supporterait pas, comme les WesternDigital série Green, une solution de contournement est proposée ici, et une autre utilise hd-idle