Qu’est-ce que le fichier sleepimage sur Mac et peut-on le supprimer
sleepimage est le fichier /private/var/vm/sleepimage dans lequel macOS garde une copie de la mémoire pour la mise en veille. Il sert à restaurer votre travail ouvert si le courant est coupé pendant que le Mac dort. Vous pouvez le supprimer avec sudo, mais tant que l’hibernation reste active, macOS le réécrit à la mise en veille suivante, et le supprimer ne rend donc aucune place durable. Pour qu’il reste absent, il faut changer un réglage d’alimentation, et ce réglage retire la protection pour laquelle le fichier existe.
Ce que fait le fichier
man pmset décrit trois valeurs pour hibernatemode :
hibernatemode |
Ce que fait la veille | Si le courant est coupé |
|---|---|---|
0 |
La mémoire reste alimentée, aucune copie sur le disque | Votre session est perdue |
3 |
La mémoire reste alimentée et une copie va sur le disque, valeur par défaut du manuel pour les portables | Le Mac restaure depuis la copie |
25 |
Une copie va sur le disque et la mémoire n’est plus alimentée : veille et réveil plus lents, meilleure autonomie | Le Mac restaure toujours depuis la copie |
standby compte aussi. Activé, il fait passer en hibernation un Mac endormi depuis un moment, ce qui écrit aussi l’image. C’est pourquoi un Mac de bureau en hibernatemode 0 peut tout de même avoir le fichier.
Vérifiez vos propres réglages et le fichier ainsi :
pmset -g | grep -E 'hibernate|standby|autopoweroff'
ls -lh /private/var/vm
La sortie indique le chemin sous le nom hibernatefile. Une liste de dossier peut afficher /var/vm, qui est le même emplacement que /private/var/vm.
Sa taille
Elle n’est pas toujours égale à celle de votre mémoire. Le Mac Apple silicon sur lequel cette page a été vérifiée a 48 Go de mémoire et un sleepimage de 2,0 Go, avec hibernatemode 3. Sur votre Mac, le chiffre dépend du modèle et de ce qui était en mémoire, mesurez-le donc au lieu de le supposer :
du -h /private/var/vm/sleepimage
Ce fichier n’a rien à voir avec le swap, même si les deux sont cités ensemble depuis longtemps. Sur un Mac récent, les fichiers de swap vivent sur un volume séparé ; le fonctionnement du swap sur un Mac en parle. Les réglages de stockage comptent généralement sleepimage dans Données système, il peut donc faire partie d’un gros volume de Données système, rarement la part principale.
Faut-il le supprimer
Pour la plupart des gens, non. Quelques gigaoctets ne reviennent que jusqu’à la prochaine veille, et le fichier fait son travail. Si vous avez vraiment besoin de cette place sur un petit disque, la seule façon durable est de désactiver tous les réglages qui écrivent l’image. Le manuel indique que les images d’hibernation ne s’arrêtent complètement que si hibernatemode, standby et autopoweroff valent tous 0 :
sudo pmset -a hibernatemode 0
sudo pmset -a standby 0
sudo pmset -a autopoweroff 0
sudo rm /private/var/vm/sleepimage
Si pmset -g n’affiche pas autopoweroff, ignorez cette ligne. Le prix : une batterie qui se vide pendant la veille, ou un Mac de bureau qui perd le courant, met fin à votre session sans retour possible, et le travail non enregistré est perdu. Pour revenir à la normale sur un portable, remettez hibernatemode sur 3 et standby sur 1, puis laissez le Mac se mettre en veille une fois :
sudo pmset -a hibernatemode 3
sudo pmset -a standby 1
Ce qu’il ne faut pas faire
- Ne supprimez pas le fichier encore et encore. Cela vous coûte les mêmes écritures, et la place revient au fichier à la veille suivante.
- Ne faites pas pointer
hibernatefilevers un disque externe. Le manuel indique qu’il ne peut désigner qu’un fichier du volume racine. - Ne remplacez pas le fichier par un fichier vide verrouillé, une vieille astuce de forums. Elle lutte contre un réglage système et vous cache l’état réel.
- Ne désactivez pas ces réglages sur un portable qui tombe souvent à court de batterie. C’est exactement le cas contre lequel le fichier vous protège.
La place de Mole
Mole n’a aucune ligne Nettoyer pour sleepimage : c’est un fichier système actif, et le supprimer ne libère rien pour longtemps. Analyser ignore les zones système de macOS dont /private, donc /private/var/vm et sleepimage n’y apparaissent pas et ne peuvent pas être déplacés vers la Corbeille depuis Mole. Mole ne modifie pas non plus hibernatemode. Le seul réglage pmset qu’il touche est disablesleep, que la fonction Écran allumé utilise pour rester éveillé quand on ferme l’écran. Si votre disque est plein, les vrais candidats sont généralement ailleurs, et que faire quand le disque de démarrage est plein est un meilleur point de départ.
FAQ
Puis-je supprimer sleepimage sur Mac ?
Oui avec sudo rm, mais macOS le réécrit à la veille suivante tant que l’hibernation est active. Pour qu’il reste absent, mettez hibernatemode, standby et autopoweroff à 0, en acceptant qu’une coupure de courant pendant la veille mette fin à votre session.
Pourquoi sleepimage est-il si gros ?
Il contient une copie de la mémoire pour la veille, sa taille dépend donc de votre modèle et de ce qui était en mémoire. Vérifiez-la avec du -h /private/var/vm/sleepimage, car le chiffre d’un autre Mac ne vous apprend pas grand-chose.
sleepimage est-il la même chose que le swap ?
Non. Le swap contient des pages de mémoire pendant que le Mac est éveillé et manque de mémoire. sleepimage sert à restaurer après une coupure de courant pendant la veille.
Que se passe-t-il si je mets hibernatemode à 0 ?
La veille et le réveil peuvent sembler un peu plus rapides et ce mode n’écrit aucune image, mais si le courant est coupé pendant la veille, votre travail ouvert n’est pas restauré. Sur un Mac où standby est activé, une image peut encore être écrite tant que vous ne le désactivez pas aussi.
sleepimage compte-t-il sur un Mac au petit disque ?
Il peut compter, car quelques gigaoctets pèsent plus sur un disque de 256 Go. Regardez tout de même d’abord les caches de développement, les sauvegardes d’iPhone et les données d’apps, qui rendent bien plus de place sans changer le fonctionnement de la veille.