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

Encontré un hilo acerca de la installation de una unidad SSD en MacBook Pro.
Alguien en los comentarios también recomendó desactivar el file 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 file de intercambio en Mac OS X.
¿Aumenta el performance? ¿Estabilidad?
Alguna desventaja?

Finalmente, ¿tiene sentido desactivar el file de intercambio cuando no se usa SSD?

  • ¿Qué significa si tengo un montón de memory "Inactiva" al final de un día de trabajo?
  • Monitor de actividad no muestra processs
  • ¿Mejora de performance al deshabilitar la memory virtual segura?
  • Problemas para entender la memory inactiva en MacOSX
  • Vaya, los files de intercambio eliminados (Mac OS, 10.6) ¿Volverán?
  • Reducir las imágenes de VMWare flat esxi
  • ¿Por qué la administración de memory en macOS es más eficiente que en Linux?
  • vm_compressor = VM_PAGER_DEFAULT en Yosemite causó congelamiento cuando la memory física estaba llena
  • 13 Solutions collect form web for “¿Por qué debería deshabilitar el file de intercambio en Mac OS X?”

    se pregunta por qué uno querría deshabilitar el file de intercambio en Mac OS X. ¿Aumenta el performance? ¿Estabilidad? Alguna desventaja?

    Supongo que la gente lo haría por una unidad SSD porque esas unidades no tienen la misma duración que las unidades estándar de discos magnéticos giratorios. Hay un número más limitado de ciclos de escritura, por lo que presumiblemente usarlos con un file de intercambio agotaría estos ciclos más rápidamente.

    Finalmente, ¿tiene sentido desactivar el file de intercambio cuando no se usa SSD?

    Si tienes mucha memory RAM, esto podría acelerar el performance, pero no es una buena idea en general. Si te topas con el techo de la memory, las cosas se pondrán feas.

    Además, la memory con cable no se libera cuando se vuelve inválida, solo se lanza cuando se desencadena un evento de salida de página, lo que no ocurrirá si la memory virtual está desactivada. Por lo tanto, no pasará mucho time antes de que toda su memory se consum aunque ya no se use.

    El motivo por el que deshabilitaron el file de intercambio probablemente sea una paranoia acerca de las SSD que tienen un número máximo de escrituras por bloque. Los files de intercambio se pueden escribir con frecuencia, lo que puede causar la fragmentación del disco (así como la fragmentación del sistema de files) y, eventualmente, hacer que el disco falle antes.

    Dicho esto, este es definitivamente un caso de optimization prematura. Casi siempre es una idea HORRIBLE , HORRIBLE para deshabilitar su file de intercambio. El file de intercambio está disponible para cuando los progtwigs en ejecución consumn más memory de la que haya instalado físicamente. Si lo deshabilita, es posible que no pueda ejecutar la misma cantidad de progtwigs al mismo time (y el límite es mucho más bajo de lo que cabría esperar) o puede tener problemas (como congelamiento y tener que reiniciar la máquina) cuando te quedas sin memory.

    Lo último que experimenté (con el file de intercambio activado) cuando me quedé sin espacio en el disco. Tenía una unidad de 120 gigas con ~ 3 gigas gratis. Mientras jugaba Civilization IV (un juego grande de pantalla completa), el sistema se quedó sin espacio en el disco duro (~ 50 megas gratis) y presentó la window "Eliminar aplicaciones ahora". Esto se escondía detrás del juego de pantalla completa, por lo que el sistema simplemente se bloqueó. Si no hubiera podido entrar desde otra Mac para matar varias aplicaciones de forma remota, habría tenido que mantener presionado el button de encendido.

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

    La razón por la que puede deshabilitar el intercambio es para que el sistema se ejecute en medios de solo lectura como CD, DVD, image de networking bloqueada usando NetBoot o un control remoto de solo lectura como el nuevo instalador Lion o Fob de recuperación que se envía con algunos Mac que carecen de conduce.

    Tener memory virtual significa que el sistema puede funcionar sustancialmente más rápido y usar less RAM cuando muchos progtwigs usan el mismo código de biblioteca común. Cada progtwig piensa que tiene una copy privada de todo el código que necesita, pero cuando existe una memory virtual, el sistema tiene una buena manera de asignar la misma memory RAM física a diferentes progtwigs.

    La desactivación del intercambio impide que el Mac use una pequeña porción de su disco como memory caching para la memory que se ha calculado, pero el progtwig no fue lo suficientemente inteligente como para escribir esos resultados en un caching adecuado.

    Si tiene una copy de security y time para experimentar, ¿por qué no desactivarla y ver cómo cambia su experiencia?

    Mantendría mi intercambio incluso si sabía con certeza que tenía que pagar un nuevo disco cada año. La velocidad que me da ese intercambio es ENORME. Esto no siempre es así, y en momentos en que el sistema está agitando o paginando, puede tener lo contrario. Muchas personas optan por ejecutar sin intercambio para que obtengan un error de asignación de memory en lugar de dejar que su Mac inicie la búsqueda, ya que puede ralentizar una máquina cuando las cosas no se ejecutan sin problemas.

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

    Seré el que lessprecie aquí: deshabilité el intercambio en mi Macbook Pro de finales de 2008 y mejoró notablemente el performance: less esperas, un cambio más rápido entre las aplicaciones.

    Eso sí, estoy pendiente de mi memory libre y tengo 6GB instalados. Las pocas veces que llegué al límite de memory, el sistema se bloqueó 😀

    En mi nueva MacBook Air, no soñaría con deshabilitar el intercambio, ya es rápido con él habilitado y para empezar solo tiene 4 GB.

    Otra buena razón por la que las personas desactivan el intercambio en una SSD es porque obtienen SSD diminutos y necesitan todo el espacio que pueden get. En cualquier caso, no lo hagas.

    Mi experiencia es similar a la de w00t. He desactivado el file de intercambio en SL y Lion porque el aumento de performance me funciona. El uso del cable se sale de control después de una semana o así, pero un simple reinicio lo corrige. No tengo un SSD, pero un disco lento de 5400rpm. La esperanza de vida de las SSD no es tan mala como las personas intentan hacerlas pasar. Si lo hace simplemente porque tiene miedo de desgastar su SSD, consulte: 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 unidades por más de 20 GB al día, todos los días, hasta 5 años en una unidad de 80 gb. Unidades de mayor tamaño durarán aún más. El usuario promedio ni siquiera usa 10 GB / día.

    Me aseguro de controlar mi uso de memory de 4GB con Menús iStat y usar un script de Automator con el command bash "purgar" (requiere la installation de Xcode) para borrar la memory inactiva y abrir más memory libre con frecuencia. Las pocas veces que he tenido aplicaciones con pérdidas de memory agotando toda la RAM, tuve que hacer un reinicio por hardware. Las raras ocasiones de que eso ocurra y la velocidad en general hace que valga la pena mantener el file de intercambio desactivado para mí. Me doy count de que no puedo tener tantas aplicaciones abiertas a la vez debido a esto, como dicen otros, pero puedo trabajar con eso.

    Solo lanzando mi 2 centavos para aquellos que deseen deshabilitar el intercambio PORQUE de SSD pequeños: la image de suspensión consume mucho más espacio en disco.

    Y, para aquellos preocupados por la vida limitada del SSD (especialmente aquellos con MBA y chips SSD cableados que NO PUEDEN ser reemplazados), si su computadora duerme muchas veces al día, la reescritura del sueño puede ser una preocupación. Mi laptop duerme media docena de veces al día fácilmente. Eso escribe 48GB de datos en mi SSD diariamente.

    La solución en cada caso es deshabilitar la hibernación y luego eliminar el file sleepimage que es tan grande como la RAM instalada (8GB en mi caso).

    El riesgo a la baja: si su batería se agota mientras su computadora portátil está durmiendo, su estado actual se perderá. Esto será equivalente a un reinicio forzado. Sin daño físico a la computadora portátil, solo una pérdida de productividad. Si deshabilita la hibernación, entonces, baje la batería y no puede cargar, ¡solo tenga el código a mano para permitir la hibernación!

    Para desactivar la hibernación, en el Terminal, el command es el siguiente:

      sudo pmset -a hibernatemode 0 

    Para habilitar la hibernación, el command es el siguiente:

      sudo pmset -a hibernatemode 3 

    Para eliminar la última image de suspensión para liberar espacio en SSD / HDD (solo tiene sentido si apaga la hibernación, de lo contrario, una nueva ocupará ese espacio la próxima vez que dure su computure):

      sudo rm -rf /var/vm/sleepimage 

    Fuente: man pmset

    Deshabilitar el intercambio aumenta el performance. Por ejemplo, uso regularmente Aperture y cuando el intercambio crece, el performance empeora y cuando va más allá de 1 Gb tengo que reiniciar el sistema operativo para limpiarlo y restaurar el performance. Nota: la máquina tiene 6GB de RAM y NO todo está ocupado, aproximadamente 3GB es gratis, pero 1G es un intercambio que degrada significativamente el performance.

    He estado desactivando el intercambio en máquinas durante muchos años, tanto en OS X como en otras variantes de UNIX.

    Utilizo una herramienta para alertarme cuando la memory se está agotando y nunca me preocupo por la falla de mi sistema.

    Mi iMac tiene 12 GB y, con el intercambio desactivado, casi siempre tengo 4 GB gratis, incluso con múltiples herramientas de desarrollo, aplicaciones, browseres, etc. abiertos

    Solo una experiencia personal

     Memory Amount | 4 GB | Don't disable it, Mountain Lion itself boots with about 1 GB. 8 GB | Do if you don't run apps that requires more than 1 GB of memory, in short, virtualization software, Photoshop, and stuff. 16 GB or more | Do it! Even Xcode or Final Cut won't use more than 4 GB of memory, at least as I've seen. Just don't run too many virtual machines though. 

    Una nota rápida: si su Mac usa charts integrados, su memory se comparte con su memory principal con kernel_task. Por lo tanto, deberá restar esa cantidad de su total utilizable.

    Los usuarios de SSD, es satisfactorio tener más espacio, pero es importante saber que la memory virtual prospera en las unidades de estado sólido, se puede get gran cantidad de performance de la misma. ¿Duele el SSD? Sí, pero replaceás por mucho time tu Mac antes de que te des count.

    Resumen ejecutivo

    Un área de intercambio (llamada partición de intercambio, file de intercambio o file de página) es solo un mecanismo para boost la memory física direccionable por el sistema operativo.

    Si tiene poca RAM física disponible, y en la máquina actual, diría que si tiene 4 GB o less de RAM. Entonces probablemente deberías tener un intercambio. Pero esto depende de su carga de trabajo y de cómo usa su máquina.

    Si tiene más de 4 GB de RAM, es muy probable que su sistema nunca use el intercambio. Entonces, si el intercambio está habilitado o no, esto no cambiará mucho.
    Aunque esto depende de otros factores, cuanto más time se ejecute su máquina, más probable es que el sistema operativo intercambie una pequeña porción no utilizada de la memory RAM al intercambio, aunque aparentemente queda bastante espacio libre. Sin embargo, a menudo el sistema usa la RAM "libre" para los búferes de files y otras cosas, y una cierta carga de trabajo puede hacer que su búfer de files use toda la memory RAM disponible.

    Información de background

    De cualquier manera, ¿qué pasaría si desactivas el intercambio y tu memory se utiliza por completo? Bueno, la próxima vez que una aplicación solicite más memory (como con un malloc o un realloc), ¡recibirá un error! Si está codificado correctamente, la aplicación lo detectará, pero manejar ese error y terminar el progtwig con elegancia podría ser un desafío. Sin embargo, muchos desarrolladores no testingn la asignación correcta de memory y, a menudo, la aplicación falla tan pronto como se va a utilizar esta memory no asignada. Por lo tanto, existe una gran posibilidad de que la aplicación falle y, de hecho, muchas aplicaciones fallarán porque tiene más de una aplicación ejecutándose al mismo time. Afortunadamente, el grano en sí debería ser inmune, pero en mi experiencia, no siempre fue así.

    Si tiene intercambio, tendrá el mismo comportamiento , pero tiene un límite superior, por lo que es probable que no scope ese límite.

    Tengo personalmente 2 máquinas con 8 y 16 GB de RAM. Mi uso personal de estas máquinas nunca debería acercarme a utilizar toda esta RAM (hoy, tal vez en unos años podría ser diferente). La única razón por la que alcanzaría los límites físicos de memory RAM es que un process se volcó y está consumiendo toda la memory RAM. No tener un intercambio es un alivio, el kernel matará rápidamente el process deshonesto tan pronto como llegue al límite de RAM. Si tiene intercambio, obtendrá una experiencia dolorosa (tal vez no en SSD …) ya que su sistema cambiará, intercambiará y se convertirá a veces en totalmente insensible hasta que con suerte su kernel mate al culpable.

    Aconseja

    No deberías asustar a la gente diciéndole que algo horrible podría pasar si eliminas el intercambio. Si lo hace, su espacio de direcciones físicas se networkingucirá, como si fuera de 4 GB de RAM a 2 GB. ¿Harías tal cosa? Entonces no deberías eliminar el intercambio. Sin embargo, puede decidir limitarlo, y eso sería acertado .

    Si uno piensa que su carga de trabajo podría llevarlo a utilizar cerca o más que la RAM física disponible, o si uno necesita muchas E / S (leer / escribir en discos), entonces debería mantenerse el intercambio.

    Cuando se debe mantener el intercambio, el usuario debe intentar establecer límites a la cantidad de memory que puede usar un process. En un sistema Linux, uno podría usar los límites de memory de cgroups para evitar que algún process se salga de control, no conozco el equivalente en OS X pero ese debería ser el path.

    Sin embargo, si uno tiene memory disponible más que suficiente para su carga de trabajo, entonces podría deshabilitar el intercambio de forma segura o podría conservarlo. No cambiará mucho, ni siquiera en términos de performance, ya que si el sistema no utiliza el intercambio, no se verá afectado por una caída de performance (especialmente visible en un disco duro rotatorio viejo, less en SSD).

    Usar el mismo truco que el anterior para tratar de establecer los límites de memory por process o grupo de processs también es beneficioso en el caso de RAM disponible más que suficiente.

    Mi propio ejemplo

    Tengo una PC vieja con 1 GB de RAM, allí tengo un gran intercambio: 4 GB para poder ejecutar Firefox y otras aplicaciones en él. Tiendo a utilizar tan poca aplicación (o tabs en Firefox) como sea posible para tener una experiencia de usuario correcta.

    Tengo un pequeño server con 8 GB de RAM. Ahí sé exactamente mi carga de trabajo y no quiero que mi server se ralentice porque un process se volcó y está consumiendo toda la memory. No tengo límite de memory de intercambio y límite de implementación de barrera, por lo que las aplicaciones o services pueden bloquearse pero no el kernel. Por cierto, esta es una máquina Linux.

    Entonces, tengo mi Mac con 16 GB de RAM. No soy el único usuario de la misma, y ​​no nos importaría esperar al cambiar de usuario. Ahí sí tenemos intercambio, es difícil para mí planificar la carga de trabajo de otros usuarios de esta computadora. Incluso si fuera el único que usaría swap. A menudo ejecuto varias máquinas virtuales y uso aplicaciones que consumen memory, pero no todas al mismo time, así que no me importaría cambiar el sistema operativo en una aplicación no utilizada para poder get una E / S de disco más rápida o iniciar otra máquina virtual. ¡Hasta ahora, no he visto intercambiar esta máquina!

    Inhabilité el file de intercambio en mi Macbook Air 2011 (4 GB de RAM, SSD de 128 GB) porque estaba harto de que el file de intercambio consumiera lentamente todo el espacio en HD restante y luego tuviera que reiniciar. De esta manera, la idea es que solo ejecutaré less progtwigs.

    Veré si realmente funciona, o si tendré que reiniciar de todos modos para borrar la memory "Conectada", pero por ahora parece que está funcionando bien. La única vez que la memory se llenó realmente, la computadora se ralentizó tanto como cuando mi SSD se queda sin memory, pero se recuperó mucho más rápido en cuanto salí de las aplicaciones. (Y pude salir de las aplicaciones, que normalmente no lo estoy cuando el SSD se llena).

    Veré cómo funciona la estabilidad, pero hasta ahora soy un campista feliz. También me obliga a ejecutar less aplicaciones (y tabs de Chrome) a la vez, lo cual es bueno para enfocar la tarea.

    El patrón de repetición aquí es este:

    Aquellos que HAN desactivado el file de intercambio experimentaron un performance mejorado (con suficiente RAM física)

    Aquellos que NO han deshabilitado el espacio de intercambio están seguros de que no funcionará, y algo terrible sucederá, y le aconsejan fervientemente que no lo haga.

    Esto se debe simplemente a dos cosas:

    1. Ideas obsoletas sobre la escasez y el alto costo de RAM física que ya no son válidas
    2. Un mecanismo de intercambio muy pobre en MacOS que causa el uso de files de intercambio cuando hay suficiente memory RAM física.

    La razón principal para deshabilitar el file de intercambio no es la velocidad, es espacio en disco.

    Si uno es un usuario que habitualmente se ejecuta dentro de los 5 GB de una unidad completa, al deshabilitar el intercambio se detendrá el molesto constante de quedarse sin espacio; Normalmente finalizo con un file de intercambio de 4+ GB de navigation de rutina.

    La mejora de velocidad es asombrosa en máquinas más antiguas; no es tan impresionante en las máquinas modernas equipadas con SSD. (En OSX 10.0 en un iMac, el uso de la memory virtual networkingujo a la mitad la velocidad de muchas operaciones, incluida la copy de files entre las unidades).

    Loving Apple Products like poisoning (iPhone, iPad, iMac, Macbook, iWatch).