2 votos

Archivo de intercambio y sleepimage de creación del archivo?

Recientemente he instalado un SDD en mi MacPro, y estaba prestando atención a que el espacio de almacenamiento utilizado, tanto para estar cómodo el SSD de tamaño iba a ser suficiente, y también que el TM de copia de seguridad del disco duro no llenan muy rápido. Esta mañana me di cuenta de la /private/var/vm carpeta de swapfiles por un total de 64GB. Mi pregunta sería ¿cómo reducir este y a comprender por qué ocurre. El SSD es el tamaño de sólo 128 GB, y fue corriendo de 60 gb o así. Este fugitivo que se trata es de crear un "no espacio" problema, aunque supongo que habría obligado a un reinicio de todos modos.

He leído Lo que son los "sleepimage" y "swapfile" documentos? y es advertido de no eliminar estos archivos. He buscado un poco más, y se encontró que un reinicio limpió todo. Después del inicio, hay un intercambio de 67MB, frente a los 64 archivos de cada uno, un total de GB.

Nunca he visto esto antes. Entiendo que un reinicio es la respuesta, pero no hay nada que hacer para evitar que se produzcan? Me gustaría, al menos, como para entender de qué proceso o aplicación de este en movimiento.

Estoy corriendo 10.6.8 Snow Leopard

3voto

klanomath Puntos 19587

Probablemente uno (o más) de proceso en el sistema fue de running wild.

Usar tu Mac como de costumbre. De un tiempo a revisar la carpeta /var/vm y si se ejecuta a través de una gran cantidad de archivos de intercambio de Terminal abierto.aplicación y entrar en:

ps xa | awk '{print $1}' | xargs -n 1 sudo vmmap | grep -A3 'Summary' > /Users/YourUserName/Desktop/vmmap_summary.txt

Dependiendo del número de procesos en ejecución, esta tomará alrededor de 30 a 60 segundos. Su cuenta ha de ser capaz de ejecutar sudo (=normalmente una cuenta de administrador).

Esto crea un archivo de texto llamado vmmap_summary.txt en su escritorio, el cual contiene la memoria y el intercambio de información de todos los procesos en ejecución ordenada por PID. Algunos no porque su id de proceso ya se ha ido.

Ejemplo (truncado a los cuatro primeros PIDs):

==== Summary for process 1
ReadOnly portion of Libraries: Total=51.8M resident=12.9M(25%) swapped_out_or_unallocated=38.9M(75%)
Writable regions: Total=92.9M written=808K(1%) resident=2112K(2%) swapped_out=0K(0%) unallocated=90.8M(98%)

==== Summary for process 21  
ReadOnly portion of Libraries: Total=77.0M resident=30.9M(40%) swapped_out_or_unallocated=46.1M(60%)  
Writable regions: Total=88.5M written=1116K(1%) resident=5144K(6%) swapped_out=0K(0%) unallocated=83.4M(94%)

==== Summary for process 22
ReadOnly portion of Libraries: Total=150.1M resident=60.1M(40%) swapped_out_or_unallocated=90.0M(60%)
Writable regions: Total=93.2M written=1460K(2%) resident=5440K(6%) swapped_out=0K(0%) unallocated=87.8M(94%)

==== Summary for process 23
ReadOnly portion of Libraries: Total=77.2M resident=31.3M(41%) swapped_out_or_unallocated=45.9M(59%)
Writable regions: Total=96.9M written=1412K(1%) resident=2036K(2%) swapped_out=0K(0%) unallocated=94.9M(98%)

Compruebe que cualquier mal comportarse proceso (swapped_out>>>0k).

Para obtener el nombre de proceso de un mal comportamiento del PID y algunas más información entrar en:

ps aux | awk '$2 == PID  { print $0 }'

Ejemplo de salida de un proceso con el IDENTIFICADOR 21 - ps aux | awk '$2 == 21 { print $0 }' - sería:

root              21   0,0  0,0  2507740   6552   ??  Ss   10:03am   0:01.48 /usr/libexec/kextd

Ahora caza de lo que podría estar mal con la aplicación o el demonio.

1voto

JakeGould Puntos 1926

El archivo de intercambio de artículos no debe tocar como ellos son parte de la estructura básica del sistema Mac OS X; similar swapfiles existen en otros sistemas Unix/Linux. Pero la sleepimage archivo puede eliminarse de forma segura siempre y cuando usted sabe lo que hace y lo que la funcionalidad que usted perderá si usted eliminar/desactivar.

Básicamente, en la "vieja escuela" modo de suspensión, si usted tuvo las aplicaciones abiertas y, a continuación, poner el Mac a dormir y, a continuación, el Mac perdió el poder, habría sido como si arrancó el cable de alimentación de la pared. Es decir, el estado de todas las aplicaciones sería anulado y su trabajo iba a desaparecer en el éter digital.

Pero el nuevo tipo de modo de suspensión (también conocido como: "el modo de hibernación") utiliza sleepimage para agregar una red de seguridad si es necesario. Es decir, cuando se vaya a dormir en un Mac que soporta (depende de su sistema; más detalles en esta respuesta), el sistema guarda una instantánea de su sistema (también conocido como: ¿cuál es en la RAM) para el disco duro en un sleepimage archivo. De esa manera si tu Mac pierde potencia, el trabajo del estado de la aplicación y relacionados con el trabajo se guarda en el disco. Así que cuando la máquina se enciende de nuevo, ¿adivinen qué? El sleepimage se carga en la memoria RAM y que están de vuelta a la normalidad de nuevo.

Suena bien, pero sólo es realmente útil para Mac portátiles como el MacBook, MacBook Pro, MacBook Air, etc... Para alguien como yo-que trabaja en un escritorio basado en la Mac Mini es bastante inútil, ya que estoy conectado a la alimentación de CA todo el tiempo. Así que cuando hice un reciente sistema de reconstruir y vio a una de 8GB sleepimage de archivos que ocupan un valioso espacio, me deshice de él. Y aquí es cómo se puede hacer eso así; primero para ver lo hibernatemode se establece en el sistema:

pmset -g | grep hibernatemode

Uno de los tres ajustes de la opción que usted debe ver son:

  • 0: de la Vieja escuela modo de suspensión con ninguna red de seguridad. Mejor para los escritorios.
  • 3: Hibernate modo de reposo con la sleepimage red de seguridad. Mantendrá RAM alimentada mientras duerme para un rápido despertar. Mejor para portátiles.
  • 25: Hibernate modo de reposo con la sleepimage red de seguridad. Apaga la memoria RAM durante el sueño y siempre se despierta por la carga sleepimage. Mejor para portátiles y ahorra energía de la batería/de la vida por no enviar potencia a los chips de RAM.

Ahora sabiendo que si desea desactivarla, ahora ejecuta este comando para establecer hibernatemode a 0:

sudo pmset -a hibernatemode 0

Con ese hecho, la zanja de la sleepimage archivo:

sudo rm /private/var/vm/sleepimage

Y que libera el espacio. Pero todavía hay un riesgo de que se recrean en el futuro; durante una actualización del sistema, por ejemplo. Así que esto es cómo usted puede asegurarse de la sleepimage archivo nunca se vuelve a crear. Crear primero una longitud cero marcador de posición para el sleepimage archivo:

sudo touch /private/var/vm/sleepimage

Ahora cambio de conjunto de la "inmutable" de la bandera en el archivo para asegurarse de que nunca se pone por escrito a:

sudo chflags schg /private/var/vm/sleepimage

Con eso hecho, sleepimage debe ser eliminado, el espacio recuperado y el riesgo de sleepimage está siendo recreada es eliminado. Pero como he dicho, si usted está usando un Mac portátil y confiar en modo de suspensión, inhabilitación esto no es aconsejable.

-1voto

moodforaday Puntos 2633

Los archivos de intercambio son un hecho de Unix vida. La única forma de reducirlos es agregar más memoria RAM para el sistema, de modo que no sea necesario que estén tan a menudo.

Una vez que un archivo de intercambio se crea, la única manera de recuperar ese espacio está reiniciando.

(Hay páginas web por ahí que le dirá cómo deshabilitar los archivos de intercambio. Recomiendo fuertemente que usted no hace esto, como Mac OS X espera que ellos estén allí.)

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X