Dans un monde où l’efficacité énergétique et la gestion optimisée des ressources sont primordiales, la mise en veille des systèmes informatiques joue un rôle clé. Sous Linux, plusieurs modes de mise en veille existent, chacun offrant des solutions adaptées selon les besoins en économie d’énergie et en reprise d’activité. Que vous soyez un utilisateur de bureau souhaitant prolonger l’autonomie de votre ordinateur portable ou un administrateur système cherchant à réduire la consommation d’énergie d’un serveur, comprendre ces différents modes et savoir comment les utiliser est essentiel.
Dans cet article, nous allons explorer les principaux modes de mise en veille sous Linux — veille simple, veille prolongée, et hybride — tout en vous fournissant les commandes nécessaires pour les activer facilement. Que vous utilisiez une distribution populaire comme Ubuntu, Fedora, Debian, Linux Mint, maîtriser ces outils vous permettra de mieux gérer l’état de votre système et de prolonger sa durée de vie tout en minimisant son empreinte énergétique.
Table des matières
- 1 Quelles sont les modes de mises en veille et les commandes pour passer en veille sur Linux
- 2 Comment changer le mode de mise en veille sur Linux
- 3 Quelques autres commandes pour gérer l’alimentation et mise en veille sur Linux
- 3.1 Inhiber la mise en veille automatique (empêcher la mise en veille)
- 3.2 Gestion de l’alimentation de l’unité centrale (CPU)
- 3.3 Gestion de la batterie
- 3.4 Commandes pour vérifier la prise en charge des modes de gestion d’énergie
- 3.5 Paramétrage des états de gestion d’énergie via des fichiers de configuration
- 4 Liens
Quelles sont les modes de mises en veille et les commandes pour passer en veille sur Linux
Mise en veille simple (S3) : suspension dans la mémoire RAM
Dans ce mode, le contenu de la RAM est conservé, mais la plupart des composants du système (comme le processeur et le disque dur) sont mis hors tension. Le système consomme très peu d’énergie et peut se réveiller rapidement.
- Avantages : Réveil rapide
- Inconvénients : En cas de coupure de courant, les données non sauvegardées seront perdues
Ce mode est principalement utilisé dans des scénarios où la reprise rapide est plus importante que les économies d’énergie maximales.
Commande pour lancer :
sudo systemctl suspend
Mise en veille prolongée (S4) : hibernation
Cette commande met le système en veille prolongée (suspend to RAM).
Dans ce mode, le contenu de la RAM est écrit sur le disque dur dans un fichier ou une partition de swap, puis le système est complètement éteint. Quand vous rallumez le système, l’état de la session est restauré à partir du disque dur.
- Avantages : Pas de consommation d’énergie car le système est complètement éteint, et l’état est restauré même après une coupure de courant
- Inconvénients : Le réveil est plus lent qu’avec la veille simple, car il nécessite de recharger tout depuis le disque
Commande pour lancer :
sudo systemctl hibernate
Mise en veille hybride (Suspension dans la RAM+Mise en veille prolongée)
Ce mode combine la suspension et l’hibernation. Le contenu de la RAM est sauvegardé sur le disque (comme en hibernation), mais le système est également mis en veille (comme en suspend to RAM). Si l’alimentation est perdue, le système pourra restaurer l’état depuis le disque dur, mais s’il n’y a pas de perte d’alimentation, le système se réveillera rapidement à partir de la RAM.
- Avantages : Sécurité contre la perte de données en cas de coupure de courant, tout en offrant un réveil rapide si la mise en veille est courte
- Inconvénients : Utilisation à la fois du swap (espace disque) et de la RAM
Commande pour lancer :
sudo systemctl hybrid-sleep
Mode veille basse consommation (S0ix)
Ce mode est spécifique aux machines modernes et à certaines architectures matérielles. Il consomme très peu d’énergie tout en conservant l’état de la RAM actif. Il n’est pas aussi économe que le mode Suspend to RAM mais est une alternative intéressante pour les systèmes ne supportant pas bien la veille profonde.
- Avantages : Transition plus rapide que d’autres modes
- Inconvénients : Consomme plus d’énergie que la suspension dans la RAM
Commande pour lancer :
sudo systemctl suspend-then-hibernate
Verrouillage de l’écran
Bien que cela ne soit pas strictement un mode de veille, la commande permet de verrouiller l’écran pour la sécurité sans mettre le système en veille. Cela peut être combiné avec d’autres modes.
Commande pour lancer :
gnome-screensaver-command -l
ou sur d’autres environnements :
dm-tool lock
Comment changer le mode de mise en veille sur Linux
/sys/power/mem_sleep
Les états S0ix représentent la résidence dans les états d’alimentation de veille du SoC Intel®. Les états S0ix éteignent certaines parties du SoC lorsqu’elles ne sont pas utilisées, tout en maintenant des performances optimales. Ces états sont déclenchés lorsque des conditions spécifiques au sein du SoC sont remplies, par exemple, lorsque certains composants sont dans des états de faible consommation.
Du point de vue du système d’exploitation compatible avec l’ACPI, S0ix est un état d’inactivité alors que l’on se trouve toujours dans l’état « S0 actif ».
Cependant, S0ix n’est pas totalement transparent pour le système d’exploitation. Pour entrer dans l’état S0ix, le système d’exploitation doit remplir des conditions spécifiques dépendant de la plate-forme. À cette fin, la spécification ACPI 6.2 a introduit un indicateur de capacité d’inactivité S0 à faible consommation dans la table de description ACPI fixe (FADT). Pour les systèmes x86, cet indicateur signale au système d’exploitation si un SoC Intel® prend ou non en charge la fonction S0ix.
Le fichier /sys/power/mem_sleep
sous Linux est utilisé pour configurer et contrôler le comportement de la mise en veille (suspension) du système, spécifiquement en lien avec les différentes options de mise en veille disponibles, telles que “s2idle” et “deep”.
mem_sleep string | Sleep State |
---|---|
s2idle | suspend-to-idle |
shallow | standby |
deep | suspend-to-RAM |
Pour activer le mode deep (veille profonde) :
echo deep | sudo tee /sys/power/mem_sleep
Pour revenir au mode s2idle :
echo s2idle | sudo tee /sys/power/mem_sleep
/etc/systemd/sleep.conf
Enfin, le fichier /etc/systemd/sleep.conf
est un fichier de configuration utilisé par systemd pour définir le comportement du système en matière de gestion de la mise en veille, de l’hibernation et des états hybrides. Il permet de configurer différents aspects des actions de mise en veille, comme le délai avant la mise en veille ou la façon dont le système se comporte en cas de basse batterie, par exemple.
[Sleep]
SuspendState=mem
HibernateState=disk
HybridSleepState=suspend
SuspendMode=platform
HibernateMode=shutdown
HybridSleepMode=suspend
HibernateDelaySec=180min
HybridSleepDelaySec=120min
SuspendState=
: Définit les états de suspension que le système doit utiliser lorsqu’il est mis en veille. Par exemple, vous pouvez spécifiersuspend
,freeze
, ou tout autre état pris en charge par votre matériel.HibernateState=
: Spécifie l’état utilisé pour l’hibernation. Les options incluent des valeurs commedisk
ouplatform
, en fonction de votre système.HybridSleepState=
: Définit l’état utilisé pour le mode de veille hybride (suspension suivie d’une hibernation).SuspendMode=
: Détermine le mode dans lequel le système doit entrer lors de la suspension. Typiquement, on retrouve des valeurs commeplatform
oushutdown
.HibernateMode=
: Définit le mode pour l’hibernation, avec des options commeshutdown
ouplatform
.HybridSleepMode=
: Spécifie le mode à utiliser pour la veille hybride, qui combine suspension et hibernation.HibernateDelaySec=
: Définit le délai en secondes avant que le système n’entre en hibernation après une suspension ou une veille hybride.HybridSleepDelaySec=
: Si vous utilisez la veille hybride, vous pouvez spécifier un délai après lequel l’hibernation doit être déclenchée.
Lorsque vous modifiez la configuration, pensez à redémarrer daemon systemctl :
sudo systemctl daemon-reload
Quelques autres commandes pour gérer l’alimentation et mise en veille sur Linux
Inhiber la mise en veille automatique (empêcher la mise en veille)
Si vous souhaitez empêcher temporairement le système de passer en veille, vous pouvez inhiber la mise en veille avec la commande suivante :
systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target
Pour annuler cette inhibition et permettre de nouveau la mise en veille :
systemctl unmask sleep.target suspend.target hibernate.target hybrid-sleep.target
Gestion de l’alimentation de l’unité centrale (CPU)
Vous pouvez utiliser cpupower
pour gérer l’utilisation du processeur et ses fréquences, ce qui affecte la consommation d’énergie.
cpupower frequency-info
cpupower frequency-set -g powersave # Mode économie d’énergie
Gestion de la batterie
Pour vérifier l’état de la batterie et les paramètres de gestion d’énergie, la commande suivante est utile :
upower -i /org/freedesktop/UPower/devices/battery_BAT0
Commandes pour vérifier la prise en charge des modes de gestion d’énergie
Avant d’utiliser certaines commandes, il peut être utile de vérifier si votre système prend en charge certains états de veille/hibernation avec systemd
.
- Vérification de la prise en charge de la mise en veille :
cat /sys/power/state
La sortie devrait afficher une liste d’états pris en charge comme freeze
, mem
, disk
, où :
freeze
: Suspendremem
: Mise en veilledisk
: Hibernation
Paramétrage des états de gestion d’énergie via des fichiers de configuration
Certains paramètres de gestion de l’énergie, comme les temporisations pour passer en veille ou les niveaux de batterie critique, peuvent être configurés dans les fichiers de configuration suivants :
/etc/systemd/sleep.conf
: Ce fichier permet de définir des options liées à la mise en veille et à l’hibernation, telles que le délai avant la mise en veille automatique./etc/UPower/UPower.conf
: Pour les systèmes qui utilisent UPower pour la gestion de l’énergie, ce fichier contrôle divers paramètres comme l’action à effectuer lorsque la batterie atteint un niveau critique.
Liens
- Comment désactiver la mise en veille sur Ubuntu et Linux
- Ubuntu : activer la mise en veille prolongée (hibernation)
- ACPI BIOS Error dans Ubuntu
- Comment accélérer Ubuntu (9 façons)
- Windows 11 : configurer la mise en veille
- Veille prolongée et veille hybride sur Windows : fonctionnement et différences