33.4. Repos du disque dur

Linux permet de mettre l'ensemble du disque dur en veille, s'il n'est pas nécessaire, ou de l'utiliser dans un mode plus économe ou plus silencieux. Sur les portables modernes, l'utilisateur n'a pas besoin de mettre manuellement le disque dur en veille : celui-ci passe automatiquement dans un mode d'exploitation économique dès qu'il n'est pas nécessaire. Toutefois, pour optimiser les économies d'énergie, vous pouvez essayer certaines des méthodes suivantes. La plupart des fonctions peuvent être contrôlées via powersaved et le module de gestion de l'alimentation YaST, décrit plus en détail à la Section 33.6, « Module de gestion de l'alimentation YaST ».

L'application hdparm permet de modifier différents paramètres du disque dur. L'option -y met instantanément le disque dur en attente. Le paramètre -Y le met en veille. hdparm -S x provoque le ralentissement du disque après une période d'inactivité. Remplacez x de la manière suivante : 0 désactive ce mécanisme, provoquant l'exécution continue du disque dur. Les valeurs comprises entre 1 et 240 sont multipliées par 5 secondes. Les valeurs comprises entre 241 et 251 correspondent à 1 à 11 fois 30 minutes.

Vous pouvez contrôler les options internes d'économie d'énergie du disque dur à l'aide de l'option -B. Sélectionnez une valeur comprise entre 0 et 255 pour optimiser les économies ou le débit. Le résultat dépend du disque dur et est difficile à évaluer. Pour rendre un disque dur plus silencieux, utilisez l'option -M. Sélectionnez une valeur comprise entre 128 et 254 pour le rendre plus silencieux ou plus rapide.

Il n'est souvent pas facile de mettre votre disque dur en veille. Sous Linux, de nombreux processus écrivent sur le disque dur, ce qui le réveille. Il est donc essentiel de comprendre comment Linux gère les données qui doivent être écrites sur le disque dur. Toutes les données sont d'abord mises en mémoire tampon dans la RAM. Ce tampon est contrôlé par le démon de mise à jour du kernel (kupdated). Lorsque les données atteignent une limite d'âge ou que la mémoire tampon atteint un niveau de remplissage, le contenu de la mémoire tampon est transféré sur le disque dur. La taille de la mémoire tampon est dynamique ; elle dépend de la taille de la mémoire et de la charge du système. Par défaut, kupdated est défini sur des intervalles courts pour optimiser l'intégrité des données. Il contrôle la mémoire tampon toutes les 5 secondes et appelle le démon bdflush lorsque les données ont plus de 30 secondes ou que le niveau de remplissage de la mémoire tampon atteint 30 %. bdflush écrit alors les données sur le disque dur. Il peut aussi les écrire, indépendamment de kupdated, si, par exemple, le tampon est plein.

[Warning]altération de l'intégrité des données

Le fait de modifier les paramètres du démon de mise à jour du kernel met l'intégrité des données en danger.

En dehors de ces processus, les systèmes de fichiers à journalisation (par exemple, ReiserFS et Ext3) écrivent leurs métadonnées indépendamment de bdflush, ce qui prévient également les ralentissements du disque dur. Pour éviter ce problème, une extension du kernel a été développée spécialement pour les périphériques mobiles. Reportez-vous à /usr/src/linux/Documentation/laptop-mode.txt pour plus d'informations.

Un autre facteur important réside dans le comportement des programmes actifs. Par exemple, les bons éditeurs effectuent régulièrement des sauvegardes en arrière-plan du fichier en cours de modification (et réveillent le disque dur). Il est possible de désactiver ce type de fonctionnalité, aux dépens de l'intégrité des données.

Dans ce cadre, le postfix du démon de courrier utilise la variable POSTFIX_LAPTOP. Si cette variable est définie sur yes, le postfix accède bien plus rarement au disque dur. Il est cependant inutile de la modifier si l'intervalle de kupdated a été augmenté.