Re: Debian - hibernation et compression d'image

Top Page

Reply to this message
Author: ymartin59
Date:  
To: guilde Guilde
Subject: Re: Debian - hibernation et compression d'image
Bonjour,

Sur Mandriva, pm-utils utilisait bien le mode "kernel" et la compression fonctionnait tout seul... il n'y a visiblement aucune configuration à faire.

Sur Debian Wheezy, c'est aussi "pm-utils" et le mode "kernel"... ça m'énervait de ne pas pouvoir hiberner plus qu'une session X avec le bureau et un terminal ;)

J'ai finalement trouvé. Il y a eu un changement de comportement dans le kernel avec un check par l'intermédiaire de la valeur définie dans /sys/power/image_size
Par défaut à 500 Mo avant les version 2.6.37 - donc sur Mandriva. Aucun problème à signaler.
Sur Wheezy avec du 3.2, la valeur est calculée 2/5 * RAM soit 800 Mo.
Et le check refuse d'hiberner sur mon swap de 900 Mo ! Ni avec 500 Mo dans "image_size" d'ailleurs.
Il faut descendre à 300 Mo voire à "0" (plus de check dans ce cas) pour le l'hibernation passe (session X + navigateur)

Conclusion: je ne comprends rien
- à la finalité de cette valeur "image_size", en tout cas quand il s'agit d'hiberner sur une partition de swap - dans un fichier, il faut voir...
- ni à l'objectif de ce check - est-ce simplement pour rejeter l'hibernation et rendre la main plus vite ?
- ni au fait qu'il me faille définir une très faible valeur (300 Mo) pour voir l'hibernation réussir

À mon avis, il y a eu torture d'esprit pour tenter d'hiberner le plus vite possible (en évitant la compression) avec ce paramètre comme seuil. Mais comme cela dépend du contenu particulier de la RAM qui peut être très grande, de la vitesse des CPUs qui vont compresser et des I/O que l'on peut avoir maintenant (SSD)... ça ressemble à une quadrature du cercle.

Finalement, j'ai opté pour le "0" qui rétablit le comportement que je connais bien: il tente en compressant au maximum et revient si ça n'aboutit pas.
En plus j'ai l'impression que c'est plus rapide qu'avant - probablement les optimisations récentes sur les I/O y sont pour quelque chose.

Comme quoi, il n'était peut-être pas nécessaire de faire aussi compliqué. Avec l'habitude, on sait ce que l'on peut laisser tourner comme applications ou pas avant d'hiberner et on anticipe un éventuel échec de l'opération.

A+

--
Yves Martin


----- Mail original -----
> De: "Boiteux Frederic" <fboiteux@???>
> À: "guilde Guilde" <guilde@???>
> Envoyé: Lundi 18 Juin 2012 12:41:13
> Objet: RE: Debian - hibernation et compression d'image
>
> Bonjour,
>
> Juste pour rajouter qq précisions, je ne suis pas sûr que le mode
> d'hibernation standard du noyau gère la compression de l'image.
> L'option indiquée par Olivier n'est valable (me semble-t-il)
> qu'avec un noyau patché avec le mode d'hibernation « TuxOnICe »
> (voir www.tuxonice.net), que j'ai pour ma part adopté depuis des
> années sur mon portable, mais cela demande de recompiler son noyau
> de temps en temps.
>
> Yves, tu étais sur Mandriva me semble-t-il auparavant : sais-tu quel
> système d'hibertation tu utilisais, et comment tu activais cette
> compression de l'image dans le swap ?
>
>     Fred.

>
>
> -----Message d'origine-----
> De : Olivier Allard-Jacquin [mailto:olivieraj@free.fr]
> Envoyé : dimanche 17 juin 2012 18:47
> À : guilde Guilde
> Objet : Re: Debian - hibernation et compression d'image
>
> Le 17/06/2012 16:53, Yves Martin a écrit :
> > Bonjour,
> >
> > Passé tout récemment sur Debian, la Wheezy pour être précis, je
> > suis
> > bien en peine d'activer la compression d'image dans le swap lors de
> > l'hibernation... ce qui m'oblige à chaque fois à stopper de
> > nombreuses
> > applications gourmandes en RAM, bref pas pratique !
> >
> > J'ai creusé dans divers directions mais rien de spécifique pour le
> > package pm-utils de Debian.
> >
> > Merci d'avance pour votre aide
>
>     Cela depend du mode d'hibernation que tu utilises.

>
>     Si c'est le paquet "hibernate", il faut mettre "Compressor lzf" dans
>     /etc/hibernate/tuxonice.conf , ou dans /etc/hibernate/common.conf
>     (man hibernate.conf pour les infos).

>
>     A noter que l'algorithme de compression (ici, lzf) dont être présent
>     dans le kernel.

>
>     Autre chose : Tu peux vider le cache disque en **lecture**, afin que
>     le kernel ne compresse pas ces données. Cela fait gagner du temps.
>     Il y a quelques années, le kernel semblait le faire de lui-même,
>     mais j'ai l'impression que cela n'est plus le cas.

>
>     Tu peux par exemple te créer un script
> /usr/local/sbin/hibernate_suspend.sh

>
> avec
> <script>
> #!/bin/bash -norc
> echo 3 > /proc/sys/vm/drop_caches
> </script>
>
> et rajouter à ton /etc/hibernate/common.conf :
>
> OnSuspend 10 /usr/local/sbin/hibernate_suspend.sh
>
>     Cordialement,

>
>                     Olivier
> --
> ~~~~~~~  _____/\_____  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> Phoenix /   _ \/ _   \    Olivier Allard-Jacquin
>        /   / \  / \   \   Web:  http://olivieraj.free.fr/
>       /___/  /  \  \___\  Mail: olivieraj@??? ~~~~ /////  ///\\\
>        \\\\\ ~~~~~~~~~~~~~~~~~~~~~~~ Linux Powered !!

>
>