web-dev-qa-db-fra.com

Augmentez le délai d'expiration du disque

Lorsque mon ordinateur portable (exécutant Ubuntu 12.04) est sur batterie, le disque s'éteint après quelques secondes d'inactivité - environ 20 secondes. J'utilise lightdm pour me connecter et j'ai des composants Gnome en cours d'exécution (j'ai gnome-panel et un certain nombre de dépendances), mais je n'utilise ni Gnome ni Unity comme environnement de bureau (je démarre le gestionnaire de fenêtres Sawfish manuellement).

20 secondes, c'est ridiculement rapide: en pratique, le disque continue de s'éteindre et de sauvegarder immédiatement, ce qui est lent (mauvaise expérience utilisateur), potentiellement endommageant le lecteur (même si je n'ai jamais pu trouver de données concrètes abouth this), et consomme en fait plus d'énergie lorsque le temps de rotation est très court ( ne analyse de 2008 a constaté que pour un disque particulier, le mode veille économisait de l'énergie s'il durait plus de 9s; le mien souvent durent moins).

Par conséquent, je veux augmenter ce délai. Comment puis-je faire ceci? Je ne sais pas quel logiciel est à l'origine du ralentissement.

En regardant les processus en cours, je ne vois que upowerd qui pourrait être lié à la gestion de l'alimentation. Le tuer ne fait aucune différence.

Le délai d'attente provient probablement de le disque lui-même : hdparm -I /dev/sda signale "Niveau avancé de gestion de l'alimentation: 1" (ce qui ne correspond pas aux 20 secondes, car cela devrait signifier 5 secondes selon la documentation hdparm…). J'ai vu cette même machine avec la valeur 254 à d'autres moments.

Qu'est-ce qui fait que la valeur change lorsque la batterie est alimentée? Je ne vois aucun appel à hdparm dans /etc/acpi/*.

3
Gilles
/etc% grep -lw 20 **/*(.)
…
laptop-mode/laptop-mode.conf
…
$ grep -w 20 laptop-mode/laptop-mode.conf 
# Default is 2 hours on AC (NOLM_HD_IDLE_TIMEOUT_SECONDS=7200) and 20 seconds
LM_AC_HD_IDLE_TIMEOUT_SECONDS=20
LM_BATT_HD_IDLE_TIMEOUT_SECONDS=20

et d'ailleurs

/etc% grep hdparm **/*(.)
…
laptop-mode/laptop-mode.conf:# hdparm
laptop-mode/laptop-mode.conf:# really SATA drives that only _look_ like SCSI drives, and will use hdparm
laptop-mode/laptop-mode.conf:# Idle timeout values. (hdparm -S)
laptop-mode/laptop-mode.conf:# Power management for HD (hdparm -B values)
laptop-mode/laptop-mode.conf:# Write cache settings for HD (hdparm -W values)

Ce paramètre provient de laptop-mode-tools . Voici les paramètres par défaut dans /etc/laptop-mode/laptop-mode.conf:

# Idle timeout values. (hdparm -S)
# Default is 2 hours on AC (NOLM_HD_IDLE_TIMEOUT_SECONDS=7200) and 20 seconds
# for battery and for AC with laptop mode on.
#
LM_AC_HD_IDLE_TIMEOUT_SECONDS=20
LM_BATT_HD_IDLE_TIMEOUT_SECONDS=20
NOLM_HD_IDLE_TIMEOUT_SECONDS=7200

Je change ces valeurs des années 20 en quelque chose de sensé.

2
Gilles