Le paquetage powersave est
responsable de l'économie d'énergie lors du fonctionnement sur batterie des
ordinateurs portables. Certaines de ses caractéristiques sont toutefois aussi
intéressantes pour les ordinateurs de bureau et les serveurs, par exemple,
les modes veille et attente, la gestion des boutons ACPI et la mise en sommeil des
disques durs IDE.
Ce paquetage rassemble toutes les fonctions de gestion d'énergie pour votre
ordinateur. Il prend en charge le matériel utilisant ACPI, APM, la gestion
des disques durs IDE et les technologies PowerNow!
ou SpeedStep. Les fonctionnalités
offertes par les paquetages apmd,
acpid,
ospmd et
cpufreqd (maintenant,
cpuspeed) sont
rassemblées dans le paquetage
powersave. Il est déconseillé
d'exécuter les démons de ces paquetages parallèlement au démon
powersave.
Il est conseillé d'utiliser le démon powersave pour le contrôle des fonctions d'économie d'énergie, même si votre système ne comprend pas tous les éléments matériels cités précédemment. Étant donné que ACPI et APM s'excluent mutuellement, vous ne pouvez utiliser que l'un des deux sur votre système. Des modifications éventuelles de la configuration matérielle sont reconnues automatiquement par le démon.
![]() | Informations sur powersave |
|---|---|
Des informations actualisées sur le paquetage
powersave sont également disponibles dans le fichier
| |
D'une manière générale, la configuration de powersave est répartie sur plusieurs fichiers :
/etc/sysconfig/powersave/common
Ce fichier contient des paramètres généraux pour le démon
powersave. Entre autres, le nombre de messages
de débogage (dans /var/log/messages) peut être
augmenté en changeant la valeur de la variable
POWERSAVE_DEBUG.
/etc/sysconfig/powersave/events
Ce fichier est nécessaire au démon powersave
pour garantir le traitement des événements (en anglais
events) du système qui se produisent. Des
actions externes ou des actions que le démon traite lui-même peuvent
être attribuées à un événement. On parle d'actions externes lorsque
le démon essaie d'activer un fichier exécutable qui est situé dans
/usr/lib/powersave/scripts/. Les actions internes
prédéfinies sont :
ignore
throttle
dethrottle
suspend_to_disk
suspend_to_ram
standby
do_suspend_to_disk
do_suspend_to_ram
do_standby
throttle ralentit le processeur de la valeur qui est
définie par POWERSAVE_MAX_THROTTLING. Cette valeur est
dépendante du profil utilisé actuellement. dethrottle
redonne ses performances initiales au processeur.
suspend_to_disk, suspend_to_ram et
standby initient l'événement système pour un mode de
sommeil. Ces trois dernières actions sont généralement reponsables de
la mise en sommeil mais devraient toujours être soumises à des
événements systèmes bien définis.
Des scripts pour le traitement d'événements se trouvent dans le
répertoire
/usr/lib/powersave/scripts :
Avertissement à travers la console, le fenêtre X ou un signal acoustisque d'un événement se produisant
Activation de l'économiseur d'écran
Utile lorsque, après une mise en veille ou en attente, l'écran est déplacé
Enregistrement de la configuration et déconnexion de GNOME ou KDE ou d'autres gestionnaires de fenêtre
Enregistrement de la configuration GNOME ou KDE et arrêt du système
Si, par exemple, la variable
POWERSAVE_EVENT_GLOBAL_SUSPEND2DISK="prepare_suspend_to_disk
do_suspend_to_disk" est définie, les deux scripts ou actions
sont traités dans l'ordre défini dès que l'utilisateur donne
à powersaved l'ordre pour le mode sommeil
suspend to disk. Le démon exécute le script externe
/usr/lib/powersave/scripts/prepare_suspend_to_disk.
Lorsque celui-ci est traité avec succès, le démon exécute l'action
interne do_suspend_to_disk et met l'ordinateur
définitivement en sommeil une fois que le script a arrêté les modules
et les services critiques.
Une modification des actions pour l'événement d'un bouton
sleep pourrait être comme dans
POWERSAVE_EVENT_BUTTON_SLEEP="notify suspend_to_disk".
Dans ce cas, l'utilisateur est informé de la mise en veille par le script
externe notify. Ensuite, l'événement
POWERSAVE_EVENT_GLOBAL_SUSPEND2DISK est créé qui a
pour suite l'exécution des actions décrites ci-dessus et garantit un
mode de mise en veille sûr du système.
Le script notify peut être modifié dans
/etc/sysconfig/powersave/common avec la variable
POWERSAVE_NOTIFY_METHOD.
/etc/sysconfig/powersave/cpufreq
Le fichier contient des variables pour l'optimisation des paramètres dynamiques de la fréquence du processeur.
/etc/sysconfig/powersave/battery
Contient les limites de la batterie et d'autres paramètres spécifiques à la batterie.
/etc/sysconfig/powersave/sleep
Dans ce fichier, vous pouvez définir quels modules et quels services doivent être arrêtés avant que la mise en sommeil soit effectuée. Ceux-ci seront rechargés et démarrés lors de la remise en route du système. En outre, vous pouvez retarder une mise en sommeil déclenchée (pour éventuellement encore enregistrer des données). Les paramètres par défaut concernent principalement les modules USB et PCMCIA. Un échec de la mise en sommeil est généralement dû à certains modules. Consultez Section 16.5.4, « Problèmes possibles et solutions » pour savoir comment déterminer l'erreur.
/etc/sysconfig/powersave/thermal
Ici, le contrôle pour la régulation de la ventilation et de la chaleur
est activé. Vous trouverez plus de détails à ce sujet dans le fichier
/usr/share/doc/packages/powersave/README.thermal.
/etc/sysconfig/powersave/scheme_*
Il s'agit des différents profils, qui régissent l'ajustement de la consommation d'énergie suivant des scénarios d'utilisation déterminés. Un certain nombre de profils sont préconfigurés et utilisables sans autre modification. Toutefois, vous pouvez aussi intégrer à ce fichier vos propres profils.
Par défaut, les modes de mise en sommeil sont désactivés étant donné qu'ils ne fonctionnent toujours pas sur certains ordinateurs. Il existe trois modes de mise en sommeil ACPI et deux modes APM :
Enregistre le contenu entier de la mémoire sur le disque dur. L'ordinateur s'arrête complètement et n'utilise pas de courant.
Enregistre l'état de tous les appareils dans la mémoire principale. Il n'y a plus que la mémoire principale qui soit alimentée en courant.
Arrête, selon le fabricant, quelques appareils.
Assurez-vous que les options par défaut suivantes sont correctement définies
dans le fichier /etc/sysconfig/powersave/events pour
un bon fonctionnement de la mise en veille, la mise en attente et de la
reprise (paramètres par défaut après l'installation de SUSE LINUX) :
POWERSAVE_EVENT_GLOBAL_SUSPEND2DISK=
"prepare_suspend_to_disk do_suspend_to_disk"
POWERSAVE_EVENT_GLOBAL_SUSPEND2RAM=
"prepare_suspend_to_ram do_suspend_to_ram"
POWERSAVE_EVENT_GLOBAL_STANDBY=
"prepare_standby do_standby"
POWERSAVE_EVENT_GLOBAL_RESUME_SUSPEND2DISK=
"restore_after_suspend_to_disk"
POWERSAVE_EVENT_GLOBAL_RESUME_SUSPEND2RAM=
"restore_after_suspend_to_ram"
POWERSAVE_EVENT_GLOBAL_RESUME_STANDBY=
"restore_after_standby"
Dans le fichier /etc/sysconfig/powersave/battery, vous
pouvez définir trois niveaux de charge de la batterie (en pourcentage).
Lorsque ces niveaux sont atteints, le système envoie un message
d'avertissement ou exécute des opérations déterminées.
POWERSAVED_BATTERY_WARNING=20 POWERSAVED_BATTERY_LOW=10 POWERSAVED_BATTERY_CRITICAL=5
Les opérations ou scripts à exécuter lorsque la charge de la batterie
descend en dessous d'un seuil donné sont définis dans le fichier de
configuration /etc/sysconfig/powersave/events. Vous
pouvez modifier les actions standard pour les boutons tel que décrit dans
Section 16.5.1, « Configuration du paquetage powersave ».
POWERSAVE_EVENT_BATTERY_NORMAL="ignore" POWERSAVE_EVENT_BATTERY_WARNING="notify" POWERSAVE_EVENT_BATTERY_LOW="notify" POWERSAVE_EVENT_BATTERY_CRITICAL="wm_shutdown"
Il est possible de faire dépendre le comportement du système de son alimentation électrique. Ainsi, la consommation du système devrait être réduite lorsque le système est déconnecté du réseau électrique et fonctionne sur batterie. Inversement, les performances du système devraient automatiquement revenir à un niveau élevé dès que le système est reconnecté au réseau électrique. La fréquence du processeur, la fonction d'économie d'énergie des disques durs IDE ainsi que quelques autres paramètres peuvent être modifiés.
Lors d'une connexion au réseau électrique ou de la déconnexion,
l'exécution de certaines actions bien définies est spécifiée dans
/etc/sysconfig/powersave/events. Définissez les
profils à appliquer dans le fichier
/etc/sysconfig/powersave/common :
POWERSAVE_AC_SCHEME="performance" POWERSAVE_BATTERY_SCHEME="powersave"
Chaque profil est stocké dans un fichier lui correspondant, dans le
répertoire /etc/sysconfig/powersave.
Les noms de fichiers sont constitués de la manière suivante :
scheme_nom du profil. Dans l'exemple ci-dessus,
deux profils sont référencés :
scheme_performance et
scheme_powersave. Les profils
performance, powersave,
presentation et acoustic sont livrés
pré-configurés. Vous pouvez à tout moment, au moyen du module de gestion
de l'énergie de YaST (voir Section 16.6, « Le module de gestion d'énergie de YaST »), mettre
en place de nouveaux profils, modifier ou supprimer des profils existants ou
modifier leur affectation aux états d'alimentation électrique.
Si vous êtes amené à utiliser ACPI, vous pouvez contrôler la réaction de
votre système aux boutons ACPI (power, sleep, et écran ouvert, écran
fermé). L'exécution des opérations correspondantes est définie
dans le fichier /etc/sysconfig/powersave/events. Pour
plus d'informations sur chacune des options, veuillez vous référer à ce
fichier de configuration.
Si vous appuyez sur le bouton power, le système provoque l'extinction du gestionnaire de fenêtres (KDE, GNOME, fvwm, etc.).
Si vous appuyez sur le bouton sleep, le système passe en mode veille sur disque.
L'ouverture de l'écran ne déclenche aucune action.
L'économiseur d'écran est activé quand l'écran est rabattu.
Si, pendant une certaine durée, le processeur n'est pas utilisé au delà
d'une certain proportion, vous pouvez réduire son activité en conséquence.
Définissez le niveau en dessous duquel, dans la variable
POWERSAVED_CPU_LOW_LIMIT, et le délai au delà
duquel, dans la variable
POWERSAVED_CPU_IDLE_TIMEOUT, l'activité du
processeur est réduite.
On trouve un enregistrement de chaque erreur et de chaque message
d'avertissement dans le fichier /var/log/messages. Si
vous ne trouvez à première vue aucune indication, affectez
DEBUG dans
le fichier /etc/sysconfig/powersave/common de façon à
obtenir des messages plus détaillés. Puis incrémentez la valeur de cette
variable à 7 ou même à 15 et
relancez le démon. Grâce aux messages d'erreur désormais plus détaillés
disponibles dans le fichier /var/log/messages, vous
devriez être en mesure de cerner le problème. Les questions et réponses
suivantes couvrent les problèmes rencontrés le plus fréquemment avec
powersave.
Si vous avez des problèmes avec l'ACPI, utilisez la commande suivante pour
rechercher des messages spécifiques à l'ACPI parmi les résultats de
dmesg :
dmesg|grep -i acpi.
Pour résoudre ce problème, une mise à jour du BIOS peut s'avérer
nécessaire. Consultez la page d'accueil du fabricant de votre ordinateur
portable, recherchez-y une version actualisée du BIOS et installez-la sur
votre système. Indiquez au fabricant de votre ordinateur qu'il doit se
conformer aux dernières spécifications ACPI.
Si les mêmes problèmes surviennent encore après la mise à jour du BIOS,
recherchez dans les sites web suivants la dernière version de la table DSDT
correspondant à votre système et remplacez dans votre BIOS la table DSDT
erronée :
Téléchargez la DSDT correspondant à votre système à l'adresse
http://acpi.sourceforge.net/dsdt/tables. Assurez-vous que
le fichier est décompressé et compilé ; vous pouvez le vérifier
avec l'extension de fichier en .aml
(ACPI Machine Language). Si tel est bien
le cas, vous pouvez passer à la troisième étape.
Si la table que vous avez téléchargée a pour extension de fichier
.asl (ACPI Source
Language), elle doit être compilée avec l'application
iasl du paquetage
pmtools. Exécutez à cette fin,
la commande iasl -sa fichier.asl.
La version la plus récente
d'iasl (compilateur Intel ACPI) est par
ailleurs disponible à l'adresse
http://developer.intel.com/technology/iapc/acpi/downloads.htm.
Copiez le fichier DSDT.aml à l'emplacement qui vous
convient (nous conseillons l'emplacement
/etc/DSDT.aml). Éditez
/etc/sysconfig/kernel et renseignez le chemin
d'accès au fichier DSDT avec la valeur correspondante. Lancez
mkinitrd (paquetage
mkinitrd). Dès que vous
désinstallerez votre noyau et que vous construirez un
initrd à l'aide de mkinitrd, la
nouvelle table DSDT sera intégrée et chargée au démarrage.
Vérifiez, en vous basant sur les sources du noyau
(kernel-source), si votre
processeur est bien pris en charge et si vous devez éventuellement utiliser
un module noyau spécifique, ou une option de module particulière, pour
activer le contrôle de la fréquence du processeur. Ces informations sont
disponibles dans les fichiers /usr/src/linux/Documentation/cpu-freq/*.
Lorsqu'un module ou une option particuliers sont requis, vous devez configurer les
variables CPUFREQD_MODULE et
CPUFREQD_MODULE_OPTS dans le fichier
/etc/sysconfig/powersave/cpufreq.
Il existe plusieurs problèmes connus, liés au noyau, qui empêchent l'utilisation de la mise en veille ou en attente (Suspend/Standby) sur des systèmes ACPI :
Actuellement, les systèmes dotés de plus d'1 Go de RAM ne permettent pas (encore) d'utiliser la mise en veille (Suspend).
Les systèmes multi-processeurs ou basés sur le processeur P4 (avec hyperthreading) ne permettent pas, pour le moment, d'utiliser la mise en veille (Suspend).
Le problème peut également venir d'une implémentation défectueuse de votre DSDT (BIOS). Dans ce cas, importez une nouvelle DSDT.
Sur des systèmes ACPI et APM, s'applique ce qui suit :
dès que votre système cherche à décharger des modules
défectueux, l'ordinateur se bloque et l'événement de mise en veille n'est
pas déclenché. Le processus inverse est également possible, si vous ne
déchargez ou ne stoppez pas des modules/services qui empêchent Suspend de
se réaliser. Dans les deux cas, vous devrez tenter de localiser les modules
posant problème. Les fichiers de journalisation créés par le démon
powersave dans
/var/log/mode sommeil sont très utiles. Si
l'ordinateur ne passe pas du tout en mode sommeil, il faut en rechercher la
cause dans le dernier module déchargé. Vous pouvez décharger les
modules problématiques avant la mise en veille ou en attente en manipulant les
paramètres suivants dans le fichier
/etc/sysconfig/powersave/sleep :
POWERSAVE_UNLOAD_MODULES_BEFORE_SUSPEND2DISK="" POWERSAVE_UNLOAD_MODULES_BEFORE_SUSPEND2RAM="" POWERSAVE_UNLOAD_MODULES_BEFORE_STANDBY="" POWERSAVE_SUSPEND2DISK_RESTART_SERVICES="" POWERSAVE_SUSPEND2RAM_RESTART_SERVICES="" POWERSAVE_STANDBY_RESTART_SERVICES=""
Si vous utilisez la mise en veille ou en attente dans différents environnements
de réseau ou en connexion avec des systèmes de fichiers montés distants,
tels que Samba et NIS, préférez alors automounter pour monter ceux-ci ou entrez les
services correspondants (par exemple, smbfs ou
nfs) dans la variable citée ci-dessus. Lorsqu'un
programme accède à un système de fichiers monté distant avant une mise
en veille ou en attente, le service ne peut pas être arrêté correctement et le
système de fichiers ne peut pas être vraiment libéré. Après la reprise
du système, le système de fichiers peut être corrompu et devoir être
monté à nouveau.
Dans le cadre d'ACPI, le système de gestion de l'énergie peut demander au
BIOS d'envoyer un message lorsqu'un seuil de charge de la batterie est
franchi. L'avantage de cette méthode est qu'il n'est pas indispensable de
lire en permanence l'état de charge de la batterie, ce qui réduirait les
performances de l'ordinateur. Toutefois, il peut arriver que ce processus
d'alerte en provenance du BIOS, qui devrait certes fonctionner, ne se
déclenche en fait jamais, même en cas de franchissement de la limite de
charge.
Si vous observez un tel comportement sur votre système, attribuez la valeur
yes à la variable
POWERSAVED_FORCE_BATTERY_POLLING dans le fichier
/etc/sysconfig/powersave/battery afin de forcer la
lecture de l'état de la batterie.