[Toulibre] Conseils pour partitionnement/formatage disque SSD

Thomas Petazzoni thomas.petazzoni at enix.org
Mar 29 Jan 10:11:30 CET 2013


Le Wed, 23 Jan 2013 21:48:22 +0100,
Guillaume Betous <guillaume.betous at gmail.com> a écrit :

> Entièrement d'accord... sauf si on projette de faire du suspend to disk
> (hibernation). Là, il faut respecter la taille de la RAM.

En fait, pas forcément. Avant de faire un suspend to disk, le kernel va
essayer de libérer un maximum de RAM, pour réduire la taille de
"l'image" du système, et donc la quantité de données à transférer vers
le swap.

En pratique, ta RAM va être utilisée pour contenir différents types
d'informations. Schématiquement, on peut dire:

 * Le code et les données du noyau. Là, pas le choix, tout doit être
   sauvegardé lors d'une hibernation (et encore le noyau est capable de
   libérer pas mal de mémoire dans différents caches internes: cache
   de dentry, d'inodes, etc.)

 * Le code des applications et bibliothèques partagées. Le code étant
   en lecture seule, le kernel sait qu'il y a une copie équivalente sur
   le disque, donc il ne va pas s'embêter à sauvegarder ça dans ton
   swap lors d'une hibernation. Il va libérer toutes ces pages là avant
   de démarrer la procédure d'hibernation.

 * Les données des applications et les bibliothèques partagées (soit
   définies statiquement dans le code de l'application, soit allouées
   dynamiquement). Là, effectivement pas le choix, ces données doivent
   être sauvegardées.

 * Le cache des entrées/sorties (page cache). Là, nul besoin de
   sauvegarder quoi que ce soit. Le noyau va simplement synchroniser
   les pages mémoires qui sont différentes de la version sur le
   périphérique de stockage, et les libérer. Elles ne feront pas partie
   de "l'image" du système qui sera conservée dans le swap lors de
   l'hibernation.

Du coup, tout ça réduit drastiquement la taille nécessaire pour
sauvegarder l'image mémoire du système lors de l'hibernation. Cela dit,
effectivement, il n'y a pas de garantie, en dehors du fait que l'image
prendra forcément moins que la taille de la RAM. Mais en pratique, ça
sera très souvent beaucoup, beaucoup moins. À une époque il y avait des
discussions pour compresser l'image mémoire du système lors de
l'hibernation, je n'ai pas suivi si cela avait été intégré ou pas.

Bonne journée,

Thomas
-- 
Thomas Petazzoni                http://thomas.enix.org
MapOSMatic                      http://www.maposmatic.org
Logiciels Libres à Toulouse     http://www.toulibre.org
Embedded Linux News             http://www.emlinews.net



Plus d'informations sur la liste de diffusion Toulouse-ll