¿Qué puedo eliminar de / private / var / vm?

80

¿Qué es esta carpeta? Es enorme y puedo usar la habitación extra. He leído que la imagen del sueño no es necesaria, ¿ es verdad? ¿Debo lidiar con eso? ¿La carpeta "privada" se vacía automáticamente, o tendría que hacerlo manualmente? Si no es útil (o necesario), ¿hay alguna forma de evitar que vuelva a aparecer en el futuro?

ingrese la descripción de la imagen aquí

Lobo
fuente
1
¿Sigue interesado en la táctica de prevención en cuestión? Es mejor preguntar por separado ahora que tiene una respuesta a los aspectos principales de su consulta.
bmike
Parece que Lri lo cubrió a continuación, pero gracias por el consejo
Wolf

Respuestas:

79

/var/vm/sleepimagese usa para almacenar el contenido de la RAM durante la hibernación , y el modo de hibernación y suspensión híbrido que las computadoras portátiles Mac usan de manera predeterminada. Si tiene 8 GiB de RAM, /var/vm/sleepimageocupa aproximadamente 8 GiB de espacio en disco. Sin embargo, no sé por qué no se elimina después de despertarse del sueño. Puede ser para garantizar que haya suficiente espacio libre en el disco o para que no se almacene en bloques no contiguos si el espacio en disco es bajo.

Puede eliminar de /var/vm/sleepimageforma segura, pero se volverá a crear cuando ponga la Mac en suspensión. Si ejecuta sudo pmset -a hibernatemode 0; sudo rm /var/vm/sleepimage, la Mac usará un modo de suspensión normal (como las Mac de escritorio por defecto) y no se volverá a crear /var/vm/sleepimage.

De man pmset:

hibernatemode = 0 (binario 0000) de forma predeterminada en los escritorios compatibles. El sistema no respaldará la memoria hasta el almacenamiento persistente. El sistema debe despertarse del contenido de la memoria; el sistema perderá contexto en la pérdida de energía. Esto es, históricamente, un simple sueño antiguo.

hibernatemode = 3 (binario 0011) de forma predeterminada en portátiles compatibles. El sistema almacenará una copia de la memoria en un almacenamiento persistente (el disco) y alimentará la memoria durante la suspensión. El sistema se activará de la memoria, a menos que una pérdida de energía lo obligue a restaurar desde la imagen del disco.

hibernatemode = 25 (binario 0001 1001) solo se puede configurar a través de pmset. El sistema almacenará una copia de la memoria en un almacenamiento persistente (el disco) y eliminará la energía de la memoria. El sistema se restaurará desde la imagen del disco. Si desea "hibernación": sueño más lento, vigilia más lenta y mejor duración de la batería, debe usar esta configuración.

  • 0 (modo de suspensión tradicional) permite una activación y suspensión rápidas, ahorra espacio en disco y reduce la escritura en la unidad.
  • 3 (hibernación híbrida y modo de suspensión segura) permite un rápido despertar y dormir y permite restaurar el estado después de una pérdida de energía.
  • 25 (hibernación) ahorra energía y permite restaurar el estado después de una pérdida de energía.

Utilicé hibernatemode 0 con mi MacBook Air. Incluso si el MacBook Air se durmió cuando la batería estaba casi descargada, la batería generalmente no se agotó por completo durante el sueño. /var/vm/sleepimagetomó alrededor de 4 GiB de espacio en disco, y escribirlo cientos o miles de veces podría haber reducido la vida útil del SSD.

Lri
fuente
23

Además: lo que Dan Barrett dijo sobre la recreación de la imagen del sueño es cierto. Sin embargo, hay una manera de evitarlo y, por lo tanto, liberar permanentemente el espacio en disco ocupado por sleepimage.

Los pasos completos:

desactivar el modo de hibernación:

sudo pmset -a hibernatemode 0

eliminar / privado / var / vm / sleepimage:

sudo rm /private/var/vm/sleepimage

cree un archivo vacío y asígnele el nombre 'sleepimage':

sudo touch /private/var/vm/sleepimage

cambie su bandera a inmutable:

sudo chflags schg /private/var/vm/sleepimage

De esta manera, el sistema ya no puede recrear la imagen del sueño. Esto funcionó perfectamente para mí y no he visto ningún problema en mi Mac durante 4 meses.

xji
fuente
4

No elimine / private / var / vm, son sus archivos de intercambio los que el sistema operativo usa constantemente.

Cuando necesite menos intercambio o reinicie, el sistema operativo reducirá la cantidad de archivos que usa aquí.

usuario151019
fuente
Me recuerda el dicho. Si no está roto, ¡no lo arregles!
iProgram
44
Eliminé toda mi carpeta vm pensando que el sistema se volverá a crear cuando sea necesario, pero eso no sucedió. Cuando el sistema quería usar archivos de intercambio, se congeló y reinició. Ahora he creado la carpeta vm y el archivo de intercambio, esperando que esto solucione el problema. Entonces, ¡NO lo borres!
Rahul Thakur
2

Si no está ocupando demasiado espacio (como en su caso), me iría como está. Las cosas en la carpeta privada no están destinadas a ser desordenadas. Es parte del sistema UNIX en el que se basa su Mac y no debe ser visible. Es por eso que llaman a la carpeta privada . Pero el software, como lo usaste, lo hizo visible, lo que no es bueno.

Dicho esto, puede eliminar esta imagen inactiva sin ningún problema, pero no la recomendaría. Si realmente necesita esos 4 GB, intente usar un disco duro para sus películas, música o algo así y ahorre espacio con sus propios archivos, no con los archivos del sistema.

Michiel
fuente
3
La próxima vez que su Mac se vaya a dormir, volverá a crear la imagen de sueño, por lo que no tiene sentido eliminarla. @sean: no aumente su RAM, el archivo de imagen dormida será tan grande como la RAM instalada en su sistema.
Dan Barrett
Solo me quedan 15 GB en mi computadora portátil, y / private / var / vm está ocupando unos 12 GB que podría estar usando. No es urgente de inmediato en este momento, pero lo estoy considerando.
user3932000
2

Una nota adicional a la respuesta superior:

Dado que puede optar por desactivar la imagen dormida o activarla pero luego verse obligado a mantenerla después de despertarse, encontré un pequeño truco sucio para mi solución preferida: tener una imagen dormida pero eliminarla después de la activación para liberar espacio en el disco. Si usted es alguien como yo que constantemente ronda los 2-6 GB de espacio libre en su pequeño SSD, esta podría ser su solución.

Simplemente apunte la imagen dormida a su .Trashcarpeta y vacíe su papelera después de despertarse.

sudo pmset -a hibernatefile ~/.Trash/sleepimage

Esta es solo una solución viable, si solo usa una cuenta en su Mac. No podrá eliminar fácilmente el archivo de suspensión de otra cuenta (por supuesto que podría hacerlo si la otra cuenta tiene suficientes derechos, pero perdería su simplicidad porque no solo significaría hacer clic en la papelera).

Si por alguna razón desea volver a la configuración de fábrica, simplemente escriba

sudo pmset -a hibernatefile /var/vm/sleepimage

(Nota: uso 10.8, esto podría cambiar en otras versiones, solo verifique man pmsetpara estar seguro).

zerweck
fuente
-1
sudo pmset -a hibernatefile /dev/null/sleepimage
Freddy
fuente