128 Go de SSD et 23 Go d'image de veille + fichier d'échange, que faire?

14

J'ai donc un Macbook Air de 13 pouces avec 128 Go, et récemment j'ai reçu un message indiquant que je manque d'espace, alors j'ai vérifié rapidement ce qui occupait tout l'espace, et j'ai découvert que J'ai 4 Go d'image de veille (ce qui est normal), mais 20 fichiers d'échange, chacun prenant de 60 Mo à 1 Go. Avec une petite taille de disque, c'est vraiment inacceptable, donc je me demandais s'il était sûr de supprimer certains des fichiers d'échange et laisser le système les construire. Ou serait une aide au redémarrage (même si je préfère ne pas, j'ai parié avec mon ami pour garder mon temps de disponibilité aussi longtemps que possible: p) Toutes les suggestions sont appréciées.

theAmateurProgrammer
la source
Quelque chose va fuir la mémoire - vous pourrez peut-être utiliser ces informations pour savoir quoi. quora.com/…
Danack
Et si c'est le serveur Windows qui prend 4 Go de mémoire virtuelle? Et je ne pense pas que vous puissiez vraiment corriger une fuite de mémoire dans une autre application. Je suppose que je vais devoir la redémarrer, merci quand même.
theAmateurProgrammer
Comment redémarrer simplement WindowServer sur OSX hints.macworld.com/article.php?story=20071121154033749
Danack

Réponses:

13

Vous pouvez désactiver Hibernate pour retrouver votre taille en RAM sur votre SSD / HD: désactivez-le d'abord:

sudo pmset -a hibernatemode 0

Libérez ensuite de l'espace:

sudo rm /var/vm/sleepimage

... si vous souhaitez le réactiver:

sudo pmset -a hibernatemode 3

Remarque: -a signifie sur chargeur et sur batterie, -b signifie batterie et -c signifie avec chargeur.

Alternativement, si vous avez plusieurs disques, vous pouvez lier symétriquement l'image de sommeil à un disque dur afin qu'il puisse s'y trouver physiquement.

Échanger

Désactivez d'abord Swap:

sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist

Supprimez ensuite les fichiers:

sudo rm /private/var/vm/swapfile*

... si vous voulez le réactiver, faites:

sudo launchctl load -wF /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist
liv3010m
la source
Bien que sous Mountain Lion, l'image de sommeil revienne
user151019
Je ne savais pas que Mountain Lion ne lui obéit pas.
liv3010m
1
Sous El Capitan, la suppression de l'échange n'est pas autorisée par la nouvelle protection de l'intégrité du système. /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist: Operation not permitted while System Integrity Protection is engaged
leonsas
2

Un redémarrage résoudra définitivement le problème.

Même si vous tuez le processus incriminé, le système n'effacera pas les fichiers d'échange - vous avez besoin d'un redémarrage pour le faire.

De plus, la suppression des fichiers d'échange serait une mauvaise idée. Vous auriez besoin de sudo pour le faire, et si le système a le fichier ouvert, même si vous rm le fichier, il sera toujours conservé comme le descripteur de fichier serait ouvert, donc vous ne gagneriez pas de l'espace.

Essayez-le, mais ce n'est pas recommandé :)

Alex
la source
1
OSX effacera les fichiers d'échange si un processus est tué.
user151019
0

Une autre réponse a déjà mentionné la désactivation de la mise en veille prolongée, mais selon la page de manuel pour pmset, cela ne suffit plus pour désactiver la création du fichier d'image d'hibernation (image de sommeil).

Les docs disent:

Pour désactiver complètement les images d'hibernation, assurez-vous que la veille et la mise hors tension automatique en mode veille prolongée sont toutes définies sur 0.

Donc nous avons besoin:

sudo pmset -a hibernatemode 0
sudo pmset -a standby 0
sudo pmset -a autopoweroff 0

Vous pouvez vérifier vos paramètres avant et après la modification à l'aide de sudo pmset -g. Ensuite, vous pouvez sudo rm /var/vm/sleepimagesupprimer le fichier, mais dans mon cas, cela a été fait automatiquement après avoir défini les 3 valeurs.

Tournoiement en haut
la source
-2

Vous pouvez supprimer l'image de sommeil sans endommager quoi que ce soit. Le système le recréera au fil du temps. Habituellement, lorsque je reçois un message indiquant que je manque d'espace, je vais simplement au terminal et sudo rm /var/vm/sleepimageje tape environ 9 concerts, mais le système le reconstruira au fil du temps, il ne s'agit donc que d'un sursis temporaire.

Pour finir de répondre à votre question et vous dire pourquoi vous devriez me faire confiance, vous pouvez supprimer chaque fichier var/vmcar ce sont des caches de ce qui est actuellement stocké dans votre RAM. Ils ne sont pas critiques ... à moins que vous ne coupiez le courant, et lors d'un redémarrage, la plupart du vardossier est effacé automatiquement. Cependant, pour fournir aux utilisateurs des rapports réguliers sur leur espace libre, OS X Lion et les plus récents ne suppriment pas les anciens vmfichiers au démarrage.

Fondamentalement, vous aurez toujours des fichiers VM avec une taille à peu près équivalente à la quantité de RAM que vous avez utilisée pour exécuter les programmes. Vous pouvez les supprimer et lors du prochain événement d'activité en arrière-plan significatif, l'ordinateur peut les recréer. Si vous n'avez qu'un seul programme en cours d'exécution et que vous ne faites rien, mais que vous avez d'énormes fichiers VM, cela peut être le signe d'une fuite de mémoire dans un programme, mais j'ai remarqué que beaucoup de panneaux de préférences et de plugins dans la barre de menus sont vraiment d'énormes porcs de mémoire: si vous exécutez la fonctionnalité Google Drive Synchronizer et l'application Dropbox et l'application box.com, ceux-ci appellent à la maison 24/7 et déplacent les fichiers sans arrêt. Ils représentent plus que suffisamment d'activité pour générer des profils de VM légitimes et énormes.

J'espère que cela pourra aider!

wwasd
la source
Merci! C'est drôle, parce que toutes mes applications se sont écrasées parce que mon ordinateur portable a manqué d'espace avec 100 Mo d'espace libre, mais 2 minutes plus tard, j'ai 8 Go d'espace libre. Effectue d'abord une sauvegarde, puis essaie de supprimer les fichiers d'échange.
theAmateurProgrammer
2
Les fichiers d'échange contiennent des données qui ne sont pas actuellement utilisées dans la mémoire réelle, mais lorsque ces données sont nécessaires, elles seront à nouveau échangées dans la mémoire réelle. Les fichiers d'échange ne doivent pas être supprimés, ce ne sont pas des caches qui seront recréés /
user151019