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.

Quelques options ne fonctionnent correctement qu'avec des noyaux Linux récents. De meilleurs résultats sont obtenus en compilant hdparm avec le code source des derniers noyaux.

Pré-requis

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

Ne fonctionne qu'avec des interfaces à bus VLB ou PCI seulement.

-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

C'est une bonne idée de l'activer avec l'option -X approprié, afin de paramétrer le mode DMA correct selon votre périphérique.

-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

Cela n'est ABSOLUMENT PAS nécessaire, dans le cadre d'un usage normal.

-f
Synchronise et vide la mémoire tampon allouée au périphérique à l'extinction.

S'utilise très bien, conjointement à l'option de timing -t ou -T

-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*
Le format de ce bloc d'informations doit être exactement le même format que ce qui est trouvé dans les fichiers /proc/ide/*/hd*/identify
Quand cette option est utilisée, elle doit être le seul paramètre donné !
  • –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_setings_over_reset" pour le périphérique.

Paramètre fichier config : keep_settings_over_reset = off

Quand cette option est spécifiée, le périphérique préserve les options -dmu d'un redémarrage logiciel.

-K
Paramétrer le drapeau "keep_features_over_reset" pour le périphérique.

Paramètre fichier config : keep_features_over_reset = on

Quand cette option est spécifiée, le périphérique préserve les options -APSWXZ d'un redémarrage logiciel.

-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

Utiliser l'option -i pour connaître la valeur maximale supportée. Regardez la valeur donnée pour MaxMultSect.
16 ou 32 semble être des paramètres optimum. Western Digital recommande pour ses disques une valeur de 4 ou 8.
Quelques disques annoncent être capable de supporter ce mode, mais il peut arriver qu'ils perdent des données. Dans de rares circonstances, cela peut mener à une corruption complète du système de fichier !

-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

Certains disques n'ont que deux niveaux ( 128 ou 254 ). Beaucoup de disques ne supportent que trois options ( 0, 128 ou 254).

-n
Obtenir ou paramétrer le drapeau "ignore write errors".

Évitez de jouer avec, à moins de savoir…

-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

À utiliser avec une extrême précaution ! Cette fonctionnalité n'inclue aucune protection, ce qui peut résulter à une corruption totale du système de fichier !

-P
Paramétrer le nombre maximal de secteur pour le mécanisme interne du périphérique.

Paramètre fichier config : prefetch_sect = 12

Tous les disques durs ne supportent pas cette option ; de plus, elle a été annulée par les spécifications officielles de la norme ATA-4.

-q
Supprime tous les messages, sauf les messages d'erreur.

Ne s'applique pas aux drapeaux -i, -v, -t ou -T

-Q
Paramétrer la profondeur de la queue.

Usage :

  • 0 : désactive
  • 1 : active
Ne fonctionne qu'avec les noyaux 2.5.x ou plus récents, et qu'avec les quelques rares disques qui le supporte.

-r
Obtenir ou paramétrer en lecture seule.

Paramètre fichier config : read_only = off

-R
Enregistrer l'interface IDE. DANGEREUX.

Veuillez voir l'option -U pour plus d'informations !

-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

Ne pas l'utiliser à moins que vous soyez absolument certain que le BIOS, le firmware, et le noyau (>= 2.6.22) supporte et soit capable d'utiliser cette fonctionnalité. Lire plus profondément le manuel - manpage - !

-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

Quelques vieux disques peuvent interpréter très différemment ces valeurs !

-t
Benchmark des temps de lecture du disque et propose un comparatif. Opération effectuée durant 2-3 secondes.

Cela affiche la vitesse de lecture du disque dur.

-T
Benchmark des temps de lecture du cache et propose un comparatif. Opération effectuée durant 2-3 secondes.

Cela affiche la vitesse de lecture directement depuis la mémoire cache de Linux, sans aucun accès au disque.

-u
Obtenir ou paramétrer le drapeau "interruption non masquée" du périphérique.

Paramètre fichier config : interrupt_unmask = on

Utiliser cette fonctionnalité avec précaution ; peut causer une corruption massive du système de fichier ! Lire plus profondément le manuel - manpage - !

-U
Supprimer une interface IDE. DANGEREUX. Compagnon de l'option -R

Utiliser cette option en toute connaissance, avec une extrême précaution. Lire plus profondément le manuel - manpage - !

-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.

Ne PAS utiliser cette option. À moins de savoir pourquoi… Lire plus profondément le manuel - manpage - !

-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

Typiquement à utiliser avec l'option -d1.
À utiliser avec une extrême précaution.

-y
Force le périphérique IDE à entrer immédiatement en mode de basse consommation.

Paramètre fichier config : standby

L'état peut être donné en utilisant le drapeau -C.

-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

L'état peut être donné en utilisant le drapeau -C.

-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.

Utilisez à vos propres risques ! Lire plus profondément le manuel - manpage - !

Cas d'usage

Gestion d'énergie

Pour une utilisation plus conviviale, utiliser l'outil disques d'Ubuntu.
  • 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

Références

  • Extrait de la page de manuel de hdparm.

Contributeurs : ste

  • hdparm.txt
  • Dernière modification: Le 28/04/2018, 11:18
  • (modification externe)