56 votos

¿Por qué deshabilitaría el archivo de intercambio en Mac OS X?

Me encontré con un tema sobre la instalación de una unidad SSD en el MacBook Pro.
Alguien en los comentarios también recomendó deshabilitar el archivo de intercambio pero no dijo por qué:

sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist
sudo rm /private/var/vm/swapfile*

Me pregunto por qué uno querría deshabilitar el archivo de intercambio en Mac OS X.
¿Aumenta el rendimiento? ¿Estabilidad?
¿Algún inconveniente?

Por último, ¿tiene algún sentido deshabilitar el archivo de intercambio cuando no usando SSD?

13 votos

Los menos entendidos suelen desactivarlo porque han oído en algún blog que el rendimiento se ha disparado. Los SSD también proporcionan un buen banco de pruebas porque son inherentemente rápidos. No lo hagas. Disminuirá la estabilidad y, con el tiempo, tendrá efectos catastróficos. A día de hoy, no he visto ningún dato real (válido y fiable) que demuestre un aumento del rendimiento. Y es un componente crítico de un SO, tanto si tienes 2 GB de RAM como 120.

3 votos

¿Qué efectos catastróficos? Sólo por curiosidad... parece que mi máquina (MacBook Pro de 4 GB) es mucho más rápida. Por ejemplo, cuando abro un nuevo terminal Windows ya no hay ningún bloqueo... es instantáneo donde antes tardaba varios segundos. Y he podido abrir el doble de aplicaciones de las que usaría normalmente y no ha pasado nada malo.

4 votos

Naranja80: La causa habitual de la lentitud del terminal Windows es que el proceso de inicio de sesión busca el inicio de sesión anterior, lo que puede solucionarse con hushlogin: apple.stackexchange.com/a/54167/22570 -- ¿ha reiniciado después de cambiar la configuración de intercambio, tal vez? No hay ninguna razón por la que la velocidad de la ventana de terminal mejore al eliminar swap.

44voto

Scott Saad Puntos 247

me pregunto por qué uno querría deshabilitar el archivo de intercambio en Mac OS X. ¿Aumenta el rendimiento? ¿Estabilidad? ¿Algún inconveniente?

Supongo que la gente lo haría por una unidad SSD porque esas unidades no tienen la misma vida útil que las unidades de disco giratorio magnético estándar. Hay un número más limitado de ciclos de escritura, así que presumiblemente usarlos con un archivo de intercambio consumiría estos ciclos más rápidamente.

Por último, ¿tiene algún sentido deshabilitar el archivo de intercambio cuando no se utiliza el SSD?

Si tienes mucho de RAM, esto posiblemente aceleraría el rendimiento, pero no es una buena idea en general. Si te topas con el techo de la memoria, las cosas se van a poner feas.

Además, la memoria cableada no se libera cuando se vuelve inválida, sólo se libera cuando se activa un evento de salida de página, lo que no sucederá si se desactiva la memoria virtual. Así que no tardará mucho en engullir toda la memoria aunque ya no se utilice.

4 votos

El sistema de memoria virtual de mac es muy perezoso en el sentido de que sólo crea los archivos de intercambio físicos cuando llega el momento de intercambiar la memoria real. Cualquiera que sea el aumento de velocidad que puedas ver al no tener que retrasar las cosas para acomodar una escritura en swap, casi con toda seguridad se vería compensado por las ganancias de velocidad anteriores de tener swap disponible en primer lugar. Tener swap hace que los mac sean más rápidos. El resto de la respuesta es en el clavo - ¡Bien hecho!

0 votos

Mis máquinas Windows funcionan mucho más rápido sin el archivo swap. Tengo 4 GB de memoria. Definitivamente voy a hacerlo en mi máquina Mac.

2 votos

@geotavros El sistema de memoria virtual en Mac OS X hace no funcionan igual que en Windows. Con 4 GB de memoria, créeme, tu Mac funcionará más rápido con la Memoria Virtual activada. Desactivar la VM sólo le causará dolores de cabeza e inestabilidad del sistema.

27voto

Robin Robinson Puntos 1031

La razón por la que desactivaron el archivo de intercambio es probablemente la paranoia de que los SSDs tengan un número máximo de escrituras por bloque. Los archivos de intercambio pueden escribirse con frecuencia, lo que puede causar la fragmentación del disco (así como la fragmentación del sistema de archivos) y, finalmente, puede causar que el disco falle antes.

Dicho esto, este es definitivamente un caso de optimización prematura. Casi siempre es un HORRIBLE , HORRIBLE idea de deshabilitar tu archivo de intercambio. El archivo swap está ahí para cuando tus programas en ejecución consumen más memoria de la que tienes físicamente instalada. Si lo deshabilita, es posible que no pueda ejecutar tantos programas al mismo tiempo (y el límite es mucho más bajo de lo que esperaba) o que tenga problemas (como congelar y tener que reiniciar la máquina) cuando se quede sin memoria.

Lo último que he experimentado (con el archivo de intercambio activado) cuando me he quedado sin espacio en el disco. Tenía un disco de 120 gigas con ~3 gigas libres. Mientras jugaba a Civilization IV (un gran juego a pantalla completa), el sistema se quedó sin espacio en el disco duro (~50 megas libres) y presentó la ventana "matar aplicaciones ahora". Esto se escondía detrás del juego a pantalla completa, así que el sistema se bloqueó. Si no hubiera sido capaz de entrar desde otro Mac para matar varias aplicaciones a distancia, habría tenido que mantener pulsado el botón de encendido.

6 votos

Me gustaría hacerme eco de lo mala idea que es esto. Swap se utiliza incluso si usted tiene 16 GB de RAM. No tanto, pero un poquito ya está escrito en swap. Siempre. Es una salvaguarda. Y mientras que el sistema operativo puede funcionar sin ella, no se puede estar seguro de cómo se comportan las aplicaciones de terceros. El disco duro se escribe. Es un hecho. Y no, no habrá un aumento de rendimiento en el "mundo real". Eso es un placebo.

4 votos

@cksum En algunos casos específicos de servidores, los administradores deshabilitan el archivo de intercambio porque hace que esa configuración específica sea más rápida, pero no lo hacen sin hacer pruebas para asegurarse de que (a) no se quedará sin memoria y (b) realmente es más rápido. Pero eso es un servidor gestionado por profesionales: nunca es necesario en una máquina de consumo.

0 votos

@cksum Podría estar de acuerdo con tu primera frase, tienes razón con la segunda, tercera y cuarta, pero lo demás son tonterías. Un SO no intercambia para "salvaguardar", un SO intercambia para hacer más memoria disponible para el proceso activo que la requiera o para acelerar la E/S almacenando datos en búfer, de modo que la memoria inactiva pueda ser liberada en la RAM. Cuando desarrollas una aplicación, solicitas memoria al SO, esta memoria es parte de tu uso de memoria virtual, como desarrollador o aplicación no sabes si el SO pone esa memoria o parte de ella en la RAM física o swap. (continuará)

11voto

Oskar Puntos 1242

Tienes dos grandes respuestas que explican por qué esto es una mala idea en casi todos los casos en los que el sistema puede escribir en un dispositivo de almacenamiento.

La razón por la que puede desactivar el intercambio es para que el sistema pueda funcionar en medios de sólo lectura como un CD, DVD, imagen de red bloqueada usando NetBoot o un llavero USB de sólo lectura como el nuevo instalador Lion o el llavero de recuperación que se envía con algunas macs que carecen de unidades ópticas.

El hecho de tener memoria virtual significa que el sistema puede funcionar sustancialmente más rápido y usar menos RAM cuando muchos programas usan el mismo código de biblioteca común. Cada programa piensa tiene una copia privada de todo el código que necesita, pero cuando existe la memoria virtual, el sistema tiene una buena manera de mapear la misma RAM física a diferentes programas.

Al desactivar el intercambio se evita que el mac utilice una pequeña porción de su unidad como caché para alguna memoria que haya sido calculada pero el programa no fue lo suficientemente inteligente para escribir esos resultados por sí mismo en un caché apropiado.

Si tienes una copia de seguridad y tiempo para experimentar, ¿por qué no lo apagas y ves cómo cambia tu experiencia?

Mantendría mi cambio aunque supiera con certeza que tengo que pagar por un nuevo viaje anualmente. La velocidad que me da ese cambio es enorme. No siempre es así, y a veces cuando el sistema está en marcha o se está buscando - puedes tener lo contrario. Mucha gente elige funcionar sin swap para obtener un error de asignación de memoria en lugar de dejar que su mac empiece a buscar, ya que eso puede ralentizar una máquina cuando las cosas no funcionan bien.

Su caso con un SSD podría ser diferente, así que háganos saber si lo intenta.

2 votos

Encuentro lo contrario, un enorme aceleración cuando paginador_dinámico es desactivado . La captura de pantalla actualmente en apple.stackexchange.com/a/60661/8546 muestra el tamaño de la memoria virtual y el número de páginas medido mientras ese demonio está deshabilitado (mientras no se usan los archivos swap).

0 votos

¿Qué se mide exactamente para determinar un aumento de velocidad? (¿O estás viendo la ausencia de lags o retrasos en la interfaz de usuario o alguna otra cosa que no es fácilmente cuantificable o medible)?

0 votos

Sin medir: con Lion, la mayoría de las cosas me parecieron notablemente más rápidas, lo suficiente como para usar la palabra enorme . Más recientemente: 10.8 en un VirtualBoxVM, por ejemplo, para iniciar sesión y reanudar el Monitor de actividad tarda dieciséis segundos con dynamic_pager doce segundos sin. Para una comparación más amplia y mesurada podríamos utilizar Paquete de pruebas Phoronix o Geekbench .

9voto

Brian Rogers Puntos 12160

Yo seré el pesimista aquí: Desactivé el cambio en mi MacBook Pro de unibody de finales de 2008 y mejoró notablemente el rendimiento: Menos espera, cambio más rápido entre aplicaciones.

Eso sí, mantengo un ojo en mi memoria libre y tengo 6 GB instalados. Las pocas veces que llegué al límite de la memoria, el sistema se estrelló :-D

En mi nuevo Macbook Air no soñaría con deshabilitar el intercambio, ya es rápido con él habilitado y sólo tiene 4 GB para empezar.

Otra buena razón por la que la gente inhabilita el intercambio en un SSD es porque obtienen SSDs diminutos y necesitan todo el espacio que puedan conseguir. En cualquier caso, no lo hagas.

0 votos

Es impresionante tener una experiencia real en la que esto funcionó. ¿Cuál era el compromiso de RAM en la máquina cuando se deshabilitó swap? ¿Qué pasaba cuando abrías más aplicaciones de las que cabían en la RAM? ¿Cuánta RAM tenías y qué aplicaciones se ejecutaban cómodamente en ese espacio sin errores?

1 votos

@bmike, no estoy seguro, el sistema se bloquea :-D, 6GB y todos los que uso :). Aperture o XCode son auténticos devoradores de memoria y a veces podrían volcar el sistema pero Skype, Mail, Adium, Safari, Chrome, iTunes y OmniFocus caben perfectamente....

6voto

James Puntos 11

Mi experiencia es similar a la del W00T. He desactivado el archivo de intercambio en SL y Lion porque el aumento de rendimiento funciona para mí. El uso de los cables se descontrola después de una semana más o menos, pero un simple reinicio arregla eso. No tengo un SSD sino un disco lento de 5400rpm. La vida útil de los SSD no es tan mala como la gente intenta hacerlos creer. Si lo haces simplemente porque tienes miedo de desgastar tu SSD, por favor, mira: http://www.anandtech.com/show/4159/ocz-vertex-3-pro-preview-the-first-sf2500-ssd/2 y http://communities.intel.com/thread/21717?tstart=0 Intel clasifica sus discos de más de 20 GB al día, todos los días, hasta 5 años en un disco de 80 GB. Los discos de mayor tamaño durarán aún más. El usuario promedio ni siquiera usa 10GB/día.

Me aseguro de monitorear mi uso de 4GB de memoria con los menús de iStat y uso un Automator script con el comando bash "purge" (requiere que Xcode esté instalado) para limpiar la memoria inactiva y abrir más memoria libre con frecuencia. Las pocas veces que he tenido aplicaciones con fugas de memoria agotan toda la RAM, tuve que hacer un hard reset. Las raras ocasiones en las que esto ha sucedido y la velocidad en general hace que valga la pena mantener el archivo de intercambio deshabilitado para mí. Me doy cuenta de que no puedo tener tantas aplicaciones abiertas a la vez por esto, como han dicho otros, pero soy capaz de trabajar con eso.

0 votos

Alcance de la memoria tiene una opción de purga automática. (si dynamic_pager está activado, deshabilito las purgas).

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