Que puis-je supprimer de / private / var / vm?

80

Quel est ce dossier? C'est énorme et je peux utiliser la pièce supplémentaire. J'ai lu sleepimage n'est pas nécessaire - est-ce vrai? Devrais-je simplement m'en occuper? Le dossier "privé" est-il automatiquement vidé, ou devrais-je le faire manuellement? S'il n'est pas utile (ou nécessaire), y a-t-il un moyen de l'empêcher de réapparaître à l'avenir?

entrez la description de l'image ici

Loup
la source
1
Êtes-vous toujours intéressé par la question de la prévention? Il serait peut-être préférable de poser cette question séparément, maintenant que vous avez une réponse aux principaux aspects de votre requête.
bmike
On dirait que Lri a couvert cela ci-dessous, mais merci pour le tuyau
Wolf

Réponses:

79

/var/vm/sleepimageest utilisé pour stocker le contenu de la RAM pendant la veille prolongée , ainsi que le mode veille et veille hybride utilisé par défaut par les ordinateurs portables Mac. Si vous avez 8 Go de RAM, cela /var/vm/sleepimageprend environ 8 Go d’espace disque. Je ne sais pas pourquoi il n'est pas supprimé après le réveil du sommeil. Cela pourrait être de s'assurer qu'il y a suffisamment d'espace disque disponible ou de ne pas le stocker sur des blocs non contigus si l'espace disque est faible.

Vous pouvez supprimer en /var/vm/sleepimagetoute sécurité, mais il sera recréé lorsque vous mettrez le Mac en veille. Si vous exécutez sudo pmset -a hibernatemode 0; sudo rm /var/vm/sleepimage, le Mac utilisera un mode veille normal (comme les Mac de bureau par défaut) et ne recréera pas /var/vm/sleepimage.

De man pmset:

hibernatemode = 0 (0000 binaire) par défaut sur les ordinateurs de bureau pris en charge. Le système ne sauvegarde pas la mémoire dans la mémoire persistante. Le système doit sortir du contenu de la mémoire. le système perdra le contexte en cas de panne de courant. Ceci est, historiquement, le sommeil vieux plaine.

hibernatemode = 3 (binaire 0011) par défaut sur les portables pris en charge. Le système stockera une copie de la mémoire dans la mémoire persistante (le disque) et alimentera la mémoire en veille. Le système se réveillera de la mémoire, sauf si une panne de courant l’oblige à restaurer à partir de l’image disque.

hibernatemode = 25 (binaire 0001 1001) n'est configurable que via pmset. Le système stockera une copie de la mémoire dans la mémoire persistante (le disque) et coupera l’alimentation en mémoire. Le système restaurera à partir de l'image du disque. Si vous souhaitez une "veille prolongée" - sommeil plus lent, réveil plus lent et meilleure durée de vie de la batterie, vous devez utiliser ce paramètre.

  • 0 (mode veille classique) permet une veille et une veille rapides, économise de l'espace disque et réduit l'écriture sur le lecteur.
  • 3 (mode veille prolongée et hybride) permet une veille et un réveil rapides et permet de rétablir l'état après une panne de courant.
  • 25 (veille prolongée) économise de l’énergie et permet de rétablir l’état après une panne de courant.

J'ai utilisé hibernatemode 0 avec mon MacBook Air. Même si le MacBook Air s'endormait alors que la batterie était presque vide, elle ne s'épuisait généralement pas complètement pendant le sommeil. /var/vm/sleepimagea pris environ 4 Go d’espace disque, et l’écrire des centaines ou des milliers de fois aurait pu réduire la durée de vie du disque SSD.

Lri
la source
23

Ajout: Ce que Dan Barrett a dit à propos de la recréation de sleepimage est vrai. Cependant, il existe un moyen de le contourner et donc de libérer de manière permanente l’espace disque occupé par sleepimage.

Les étapes entières:

désactiver le mode hibernation:

sudo pmset -a hibernatemode 0

delete / private / var / vm / sleepimage:

sudo rm /private/var/vm/sleepimage

créez un fichier vide et nommez-le 'sleepimage':

sudo touch /private/var/vm/sleepimage

changer son drapeau en immuable:

sudo chflags schg /private/var/vm/sleepimage

De cette façon, le système ne peut plus recréer une image de sommeil. Cela a fonctionné parfaitement pour moi et je n'ai vu aucun problème sur mon Mac depuis 4 mois.

xji
la source
4

Ne supprimez pas / private / var / vm, ce sont vos fichiers d'échange que le système d'exploitation utilise en permanence.

Lorsque vous avez besoin de moins d'échange ou que vous redémarrez, le système d'exploitation réduit le nombre de fichiers qu'il utilise ici.

utilisateur151019
la source
Cela me rappelle le dicton. Si ça ne marche pas, ne le répare pas!
iProgram
4
J'ai supprimé tout mon dossier vm en pensant que le système recréerait si nécessaire, mais cela ne s'est pas produit. Lorsque le système souhaitait utiliser des fichiers d'échange, il se figeait et était redémarré. J'ai maintenant créé le dossier vm et le fichier d'échange, en espérant que cela résoudra le problème. Donc, ne le supprimez pas!
Rahul Thakur
2

Si cela ne prend pas trop de place (comme dans votre cas), je laisserais tel quel. Les éléments du dossier privé ne doivent pas être dérangés. Cela fait partie du système UNIX sur lequel votre Mac est construit et ne devrait pas être visible. C'est pourquoi ils appellent le dossier privé . Mais le logiciel, comme vous l’avez utilisé, le rend visible, ce qui n’est pas une bonne chose.

Cela étant dit, vous pouvez supprimer cette image de sommeil sans aucun problème, mais je ne le recommanderais pas. Si vous avez vraiment besoin de ces 4 Go, essayez d’utiliser un disque dur pour vos films, votre musique ou autre et économisez de l’espace avec vos propres fichiers, pas avec les fichiers du système.

Michiel
la source
3
La prochaine fois que votre Mac se mettra en veille, il recréera l'image en veille. Il est donc inutile de la supprimer. @sean: n'augmentez pas votre RAM, le fichier sleepimage sera aussi volumineux que la RAM installée sur votre système.
Dan Barrett
Il ne me reste que 15 Go sur mon ordinateur portable et le fichier / private / var / vm prend environ 12 Go que je pourrais utiliser. Ce n'est pas tout de suite urgent, mais j'y réfléchis.
user3932000
2

Une note supplémentaire à la première réponse:

Étant donné que vous pouvez choisir de désactiver l’image de veille ou de l’activer, mais que vous soyez obligé de la conserver après le réveil, j’ai trouvé un petit truc sale pour ma solution préférée: conserver une image de veille mais la supprimer après le réveil pour libérer de l’espace disque. Si vous êtes quelqu'un comme moi qui navigue constamment autour de 2 à 6 Go d'espace libre sur votre petit disque SSD, cela pourrait être votre solution.

Il suffit de pointer l’image de sommeil sur votre .Trashdossier et de vider votre corbeille après votre réveil.

sudo pmset -a hibernatefile ~/.Trash/sleepimage

Ce n'est qu'une solution viable si vous n'utilisez qu'un seul compte sur votre mac. Vous ne serez pas en mesure de supprimer facilement le fichier sommeil d'un autre compte (bien sûr, vous pouvez le faire si l'autre compte dispose de droits suffisants, mais il perdrait sa simplicité parce qu'il ne s'agirait pas simplement de cliquer sur la corbeille).

Si, pour une raison quelconque, vous souhaitez revenir aux paramètres d'usine, tapez simplement

sudo pmset -a hibernatefile /var/vm/sleepimage

(Note: J'utilise 10.8, cela pourrait changer dans d'autres versions, vérifiez juste man pmsetpour être sûr.)

Zerweck
la source
-1
sudo pmset -a hibernatefile /dev/null/sleepimage
Freddy
la source