Le Wiki du LLV

Informatique, partage et libre choix.

Outils pour utilisateurs

Outils du site


wiki:distributions:ubuntu_hibernation_espace_echange

Configuration de l'hibernation dans Ubuntu

!!!!! Il est peut-être possible qu'il faille créer une partition swap pour certains systèmes. !!!!!

L'hibernation (ou mise en veille prolongée) permet d'éteindre votre ordinateur et de restaurer l'état exact de l'ordinateur lors de l'arrêt. La mémoire vive est :

  1. sauvegardée complètement sur la partition ou le fichier d'échange (swap en anglais) lors de l'arrêt, puis
  2. restaurée complètement lors du démarrage.

Ce mécanisme est désactivée par défaut dans Ubuntu, il suffit de suivre la procédure ci-dessous si vous souhaitez l'activer.

La mise en veille prolongée peut ne pas fonctionner car non supportée par certain composant de votre ordinateur. Consultez d'abord le wiki Ubuntu sur l'hibernation.
Le risque zéro n'existe pas, sauvegardez vos données avant toute manipulation.

Configuration de l'espace d'échange

La taille de cette espace d'échange doit être au moins égale à la taille de la mémoire vive de l'ordinateur.

Afficher la mémoire disponible

Dans un terminal, tapez la commande df -h :

# free -h
              total        used        free      shared  buff/cache   available
Mem:           487M        219M         54M        4.5M        214M        228M
Swap:          1.5G          0B        1.5G

Dans l'exemple, la taille de la mémoire vive est de 487 Mo.

Vérifier la taille de la partition d'échange

Dans un terminal, tapez la commande swapon -s :

# swapon -s
Nom de fichier				Type		Taille	Utilisé	Priorité
/dev/sda2                              	partition	524288	0	-2

Obtenir l'identifiant de la partition de d'échange :

# grep swap /etc/fstab
# swap was on /dev/sdc1 during installation
UUID=4711b69b-e60b-41db-8b02-4189dcfed370 none            swap    sw              0       0

Autre méthode :

# blkid | grep swap
/dev/sda2: UUID="4711b69b-e60b-41db-8b02-4189dcfed370" TYPE="swap" PARTUUID="f9cb8cba-01"

Dans l'exemple, la taille de l'espace d'échange est de 512 Mo (512 * 1024).

Si la taille de votre partition d'échange est assez grande, passez l'étape de création d'un fichier d'échange.

Création d'un fichier d'échange

Pour créer un fichier d'échange de 1 Go :

# sudo fallocate -l 1g /swapfile
# sudo chmod 600 /swapfile
# sudo mkswap /swapfile
Configure l'espace d'échange (swap) en version 1, taille = 1024 MiB (1073737728 octets)
pas d'étiquette, UUID=76d4eab6-5984-4eb4-90eb-3a4d510492f3

Activation du fichier de swap pour obtenir son identifiant (UUID) :

# sudo swapon /swapfile
# swapon -s
Nom de fichier				Type		Taille	Utilisé	Priorité
/dev/sda2                              	partition	524288	0	-2
/swapfile                              	file    	1048572	0	-3
# findmnt -no SOURCE,UUID -T /swapfile
/dev/sda1 0275f3b7-126f-451f-a822-e0962d33ae0f

Modification du fichier /etc/fstab pour que le fichier de swap soit monté automatiquement à chaque démarrage :

# sudo sh -c 'echo "UUID=0275f3b7-126f-451f-a822-e0962d33ae0f none            swap    sw              0       0" >> /etc/fstab'

Activation de l'hibernation

Prise en compte de l'identifiant de l'espace d'échange

Mise à jour du fichier de démarrage

Indiquez l'identifiant de votre espace d'échange à utiliser au fichier de démarrage et mise à jour du fichier de démarrage:

# sudo sh -c 'echo "RESUME=UUID=0275f3b7-126f-451f-a822-e0962d33ae0f" > /etc/initramfs-tools/conf.d/resume'
# sudo update-initramfs -u -k $(uname -r)

Mise à jour du gestionnaire de démarrage

Indiquez l'UUID de votre espace de swap au gestionnaire de démarrage et mise à jour du gestionnaire de démarrage ;

# sudo sed -i 's/\(GRUB_CMDLINE_LINUX=.*\)"$/\1 resume=UUID=0275f3b7-126f-451f-a822-e0962d33ae0f"/' /etc/default/grub
# sudo update-grub

Installation d'un gestionnaire d'hibernation

# sudo apt install hibernate

Intégration de l'hibernation au bureau

Création du fichier de configuration :

# cat > /tmp/com.ubuntu.enable-hibernate.pkla << EOF
[Re-enable hibernate by default in upower]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes

[Re-enable hibernate by default in logind]
Identity=unix-user:*
Action=org.freedesktop.login1.hibernate;org.freedesktop.login1.handle-hibernate-key;org.freedesktop.login1;org.freedesktop.login1.hibernate-multiple-sessions;org.freedesktop.login1.hibernate-ignore-inhibit
ResultActive=yes
EOF

# sudo cp /tmp/com.ubuntu.enable-hibernate.pkla /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
# rm -f /tmp/com.ubuntu.enable-hibernate.pkla

Redémarrage l'ordinateur

Il est nécessaire de redémarrer l'ordinateur pour que les modifications soient prisent en compte.

Mise en veille prolongée

Cliquez sur le bouton “Mise en veille prolongée” présent dans le menu lorsque vous cliquez sur le bouton d'arrêt :

Que faire si l'hibernation ne fonctionne pas

Si après une mise en veille prolongée, vous ne retrouvez pas votre environnement dans l'état où vous l'avez laissé, consultez le wiki Ubuntu sur l'hibernation qui fourni des solutions à des problèmes courants.

Quelques solutions possibles :

  • mettre à jour votre BIOS : le problème est peut-être corrigé dans la mise à jour
  • mettre à jour votre distribution : le problème est peut-être corrigé dans la mise à jour

Si rien n'y fait, vous pouvez sauvegarder votre sessions en éteignant votre ordinateur en cochant l'option “Enregistrer la session pour les prochaines connexions” dans le menu d'arrêt, vos applications seront lancées au démarrage, mais pas dans l'état lors de l'arrêt :

Menu d'arrêt Xubuntu

Retour d'expérience sur la veille prolongée

Les points positifs :

  • consommation électrique nulle en état de veille prolongée, ce n'est pas le cas pour la veille standard
  • risque de casser sont disques plus faible qu'en veille standard

Les points négatifs :

  • pour les vieux PC avec beaucoup de mémoire, l'entrée et la sortie de l'hibernation peut être très long

Voire : https://askubuntu.com/questions/1240123/how-to-enable-hibernate-option-in-ubuntu-20-04

wiki/distributions/ubuntu_hibernation_espace_echange.txt · Dernière modification: 2020/07/17 14:10 par palas