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.
etc/hdparm.conf
Pour utiliser hdparm
, vous pouvez éditer le fichier /etc/hdparm.conf.
Les options à préciser sont les mêmes qu'en mode console.
/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.
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.
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
Il est possible d'utiliser hdparm
en mode console en spécifiant des options.
ou en utilisant le fichier de config.
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.
-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 :
⇒ 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 :
'apm
sur le disque.
⇒ Paramètre fichier config : apm = 255
-c
Activer et/ou interroger le support IO 32 bits (E)IDE.
Usage :
⇒ Paramètre fichier config : io32_support = 1
-C
Interroge l'état du mode du périphérique courant.
Les états peuvent être :
-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.
-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 :
⇒ 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 :
⇒ 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 :
-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 :
⇒ 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.
-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 :
⇒ 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.
sudo hdparm -I /dev/sd[X] | grep level
(où [X] est une lettre (entre a et z) représentant votre disque dur).
sudo hdparm -y /dev/sd[X]
sudo hdparm -S 1 /dev/sd[X]
Remarque : le chiffre 1 correspond au temps par multiples de 5 secondes.
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