Le Safe Sleep est une nouvelle fonctionnalité des derniers Powerbooks. Il permet, lors de la mise en veille de la machine, de copier sur le disque dur l'intégralité de la RAM sur le disque dur. La machine se met en veille, et si pendant la période de veille elle se retrouve hors tension, au prochain démarrage, elle ira récupérer le contenu de la RAM enregistré sur le disque.
Installation sur tous les Macs... ou presque
Comme vous avez pu le lire ailleurs, il est maintenant possible, depuis la mise à jour MacOS X 10.4.3, d'appliquer cette fonction sur d'autres machines que les derniers portables Apple. Pour cela, il suffit d'exécuter, il suffit de se rendre sur cette page et de télécharger les scripts terminal disponibles à cette adresse.
Attention, cela ne marche apparemment que sur les machines disposant de mémoire DDR.
On trouve aussi un script spécial pour les machines utilisant un hack pour forcer l'affichage en bureau étendu.
Une fois le script exécuté, il faut exécuter la commande suivante dans le terminal pour choisir l'un des 3 modes de fonctionnement du Safe Sleep :
sudo pmset -a hibernatemode 0
Le 0 correspond à l'un des modes suivants :
- Mode 0 : Safe Sleep désactivé, le mac se comportera comme il le faisait avant.
- Mode 1 : le Safe Sleep s'active à chaque mise en veille. Lors de la mise en veille, le système copie le contenu de la mémoire sur le disque, puis éteint l'ordinateur. Puis, à la réactivation, l'opération inverse se produit, le contenu de la mémoire passe du disque à la RAM. Ce mode présente l'avantage de ne nécessiter aucune consommation de courant lorsque l'ordi est en veille, puisqu'il est en fait éteint.
Dans ce mode, comme l'ordi est éteint quand il passe en veille, il faut le réactiver en appuyant sur le bouton de démarrage.
- Mode 3 : Dans ce mode, lors de la mise en veille, le contenu de la RAM est copié sur le disque, comme en mode 1. Mais l'ordinateur reste en veille classique, donc allumé. La réactivation se passe comme en mode 0, à moins que l'ordinateur soit en panne de courant. Dans ce cas, on peut, une fois qu'on a rebranché l'ordi, récupérer son travail comme en mode 1.
- Modes 5 et 7 : Ces modes correspondent respectivement aux modes 1 et 3, mais ne doivent être utilisés que si la mémoire virtuelle sécurisée est activée. Et seulement dans ce cas.
Vous l'aurez compris, c'est le mode 3 qui est utilisé par défauts sur les nouveaux Powerbooks.
Tests de performance
Maintenant que le Safe Sleep est installé, voyons un peu ce que ça donne en terme de performances... Car la lecture et l'écriture de la mémoire sur le disque, et inversement, prends forcément du temps. Nous sommes tous habitués à la mise en veille et au réveil quasi-instantanés sur nos Macs. Voyons donc le temps de mise en veille et de réactivation suivant les différents modes.
Pour les tests, nous avons utilisé 2 machines : un Powerbook Alu (512Mo de RAM) et un G4 MDD (1Go de RAM).
Chacun des 3 modes a été testé, et pour le mode 3, nous avons aussi testé le cas ou l'alimentation de l'ordinateur est totalement coupée.
Les tests ont été faits dans des conditions extrêmes, c'est à dire que chacune des machines de test avait un maximum d'applications lancées, pour remplir la RAM. Il est évident que plus la RAM est utilisée, plus le temps de mise en veille/restauration est long.
Les résultats sont donnés en secondes (mise en veille / réactivation) :
Résultats pour le Powerbook :
- mode 0 (veille classique) : 4/3
- mode 1 (Safe Sleep tout le temps): 16/40
- mode 3 (sans coupure d'alimentation) : 13/3
- mode 3 (avec coupure d'alimentation) : 13/40
Résultats pour le G4 MDD :
- mode 0 (veille classique) : 4/4
- mode 1 (Safe Sleep tout le temps) : 13/37
- mode 3 (sans coupure d'alimentation) : 11/4
- mode 3 (avec coupure d'alimentation) coupure : 11/38
Ces résultats sont cohérents avec la description des différents modes faite plus haut. On voit en particulier que lorsqu'on est en mode 3, la réactivation ne prend du temps qu'après une coupure d'alimentation, puisque si l'ordinateur reste en veille normale si celle-ci n'est pas coupée.
D'une manière générale, le temps de réactivation est beaucoup plus long que celui de mise en veille si l'ordinateur doit récupérer la RAM sur le disque
Quelques petites remarques...
Tomber en panne de courant sur un Powerbook
Le principal argument d'Apple pour vanter le Safe Sleep est de dire que votre travail est protégé si vous vous retrouvez à court de batterie sans pouvoir recharger. Mais il faut savoir que ce cas de figure est extrêmement rare... en effet, si vous travailler sur la batterie, et qu'elle est épuisée, même sans Safe Sleep, votre Powerbook peut rester plus de 24h sans perdre le contenu de la mémoire... Alors à moins de partir en expédition au pôle nord pour finir un travail urgent, il est rare de ne pas trouver de prise de courant en 24h
Et même si vous retirez la batterie lorsque le Powerbook est en veille, vous avez 5 minutes pour la changer ou brancher votre ordi, pendant lesquelles la pile de sauvegarde interne préserve le contenu de la mémoire (à condition qu'elle soit en bon état).
Manque d'espace sur le disque?
Le Safe Sleep utilise un fichier pour stocker la RAM sur le disque dur. On peut se demander ce qu'il se passe si le système ne trouve pas assez de place sur le disque lors de la création de l'image... nous avons effectué quelques tests pour vérifier la fiabilité du Safe Sleep... et bien Apple a pensé à tout
En fait, l'image est créée dès le démarrage à cet endroit :
/private/var/vm/sleepimage
Si, lors du démarrage, le disque dur ne dispose pas du double de la RAM sur le disque, alors l'image n'est pas créée, et le Safe Sleep est automatiquement désactivé.
Nous avons ensuite essayé d'effacer ce fichier, après le démarrage, puis nous avons rempli le disque à ras bord. Dans ce cas, lors de la mise en veille avec le Safe Sleep activé, le système le désactive.
Bref, que ça soit au démarrage, ou au moment de la mise en veille, si le système ne peut pas créer l'image de la RAM sur le disque, et bien, il ne le fait pas
Utilisation possibles du Safe Sleep
Le Safe Sleep pourrait permettre deux fonctionnalités sur nos macs, avis à Apple si ils nous lisent
- Utilisation du Safe Sleep sur les nouveaux macs :
Actuellement, quand on reçoit un mac neuf, il vient avec un système pré-installé, mais qu'il faut quand même démarrer. Apple pourrait fournir ses Macs déjà démarrés, et grâce au Safe Sleep, l'acheteur n'aurait qu'à brancher le mac, à l'allumer, et en quelques secondes il se retrouverait devant l'écran de configuration de MacOS X... Je pense que ça serait du plus bel effet
- Safe Sleep en tant que backup de la RAM
Apple pourrait fournir un utilitaire permettant de copier la RAM sur le disque, sans pour autant mettre le système en veille. Et fournir une option pour qu'en cas de plantage, l'ordi redémarre en utilisant l'image la plus récente de la RAM sur le disque. Dans ce cas, les pertes de travail dues à un kernel panic seraient moindres... Mais bon, oui, je sais, un Mac, ça ne plante pas
Et le mode 2 ??
Nous avons vu que 3 modes existent, 0, 1 et 3. Mais qu'en est-il du mode 2 ?
Nous avons testé :
sudo pmset -a hibernatemode 2
Le mode 2 fonctionne comme le mode 3, à la différence près qu'il plante de temps en temps... Sur 5 tentatives de mise en veille en mode 2, avec coupure de l'alimentation, 2 ont fonctionné correctement, 2 ont fonctionné mais sans afficher l'écran et la barre de progression lors de la réactivation, et une tentative a planté la machine... Bref, à ne pas utiliser.
Problèmes...
En appliquant le Safe Sleep sur des machines autres que celles prévues officiellement par Apple peut poser des problèmes. Voici ce qu'il a été constaté :
- Sur les machines utilisant un patch pour activer le bureau étendu, il faut une version spéciale du patch Safe Sleep. Cette version est disponible à l'adresse donnée plus haut. Sans ce patch, le mode bureau étendu ne fonctionne plus.
- Il semblerait que sur certains Powerbooks, le bluetooth se réactive au réveil de la machine, même si il était désactivé avant. Enfin ça n'est pas bien grave
- Les Powerbooks 12" 867MHz semblent montrer des problèmes avec le patch (arrêt des ventilateurs, problèmes d'horloge...) il n'est donc pas recommandé de l'installer sur ces machines.
- Sur les G4 MDD, les ventilateurs tournent plus vite après la réactivation. L'OS prend le contrôle des ventilateurs lors du démarrage, et il semblerait qu'il laisse le firmware gérer les ventilateurs après la réactivation du Safe Sleep. Les niveaux de déclenchement des ventilateurs se situent à des températures plus basses quand le firmware contrôle.
- Lors de la réactivation, si le système doit récupérer la RAM depuis le disque dur, on a normalement le droit à un écran montrant le bureau du Mac lors de l'extinction mais grisé. Avec l'application du patch sur les machines plus anciennes, par moment au lieu de cet écran c'est la pomme grise du démarrage de MacOS X qui s'affiche... Etrange
- Si vous utilisez la mémoire virtuelle protégée (euh, c'est quoi ça?
) le Safe Sleep fonctionne en utilisant les modes 5 et 7 à la place de 1 et 3. Mais la copie de la RAM sur le disque ne sera pas encryptée..
Conclusion
Maintenant que vous savez tout sur le Safe Sleep, faut-il l'utiliser?
Tout dépend de comment vous utilisez votre Mac. Prenons les différents modes de fonctionnement, et voyons quelle est vraiment leur utilité :
- Mode 0 : Safe Sleep désactivé.
L'avantage de désactiver le Safe Sleep est de garder la réactivité lors de la mise en veille et de la réactivation. Mais on perd le bénéfice apporté par la sécurité du Safe Sleep.
- Mode 1 : Safe Sleep à chaque mise en veille.
Ce mode de fonctionnement requiert un long temps d'attente lors de la mise en veille et surtout de la réactivation. Mais il a l'énorme avantage d'éteindre la machine au lieu de la garder en veille. C'est donc tout à fait recommandé pour les utilisateurs de Powermacs. On peut aussi s'en servir pour transporter un ordinateur sans vouloir à le redémarrer.
- Mode 3 : Safe Sleep en cas de perte d'alimentation.
C'est le mode utilisé sur les nouveaux Powerbooks. Dans ce mode, la mise en veille est un peu plus lente que sans le Safe Sleep, mais la réactivation est instantanée si la RAM n'a pas été privée de courant. Bref, dans 99% des cas, ça reviendra à une veille classique, avec un temps de mise en veille un peu plus long, mais l'assurance de ne pas perdre son travail. Par contre, on perd l'avantage de la consommation de courant en veille comparé au mode 1. Bref, pour ceux qui voyagent beaucoup, travaillent beaucoup sur batterie, et risquent de se retrouver sans prise de courant pendant longtemps. Ou alors pour ceux qui ont oublié leur alimentation
En conclusion, on peut dire que le Safe Sleep est plus un argument de marketing sur les nouveaux Powerbooks qu'une réelle avancée. Je le trouve même plus avantageux en mode 1 sur un ordinateur de bureau qu'en mode 3 sur les portables.
Mais ça n'empêche que la réalisation est très soignée, comme toujours avec Apple










