¿Hay alguna forma de limitar el tamaño del archivo de intercambio de disco en Mac OS X?

Parece ser que en OS X, cada vez que te quedas sin RAM, el sistema cambia felizmente al disco. Esto fácilmente se convierte en un desastre debido al hecho de que la memoria intercambiada eventualmente llena mi disco. En mi Macbook Air con 2 GB de RAM y disco de 64 GB, este es un problema importante.

Para resolver esto, he creado un crontab que ejecuta un comando de purga cada 10 minutos. Minimiza el aumento del intercambio y también hace que el sistema responda mejor cada vez que el sistema está intercambiando. Intenté deshabilitar el intercambio, pero está lejos de ser poco confiable.

¿Puedes configurar este comportamiento? ¿Hay una solución mejor?

El intercambio de disco en OSX nunca deja de crecer

$crontab -e

*/10 * * * * purge
Ejecute sysdiagnoseen el arranque y luego nuevamente después de iniciar sus aplicaciones habituales y finalmente cuando note que el intercambio se está agotando. Tengo Mac que funcionan durante meses y nunca tienen presión de intercambio como la que muestra aquí. El sistema solo se intercambia cuando un programa solicita memoria, la pierde y nunca la libera. Probablemente tenga varias fugas, cuya gravedad se mediría por el período de tiempo necesario para acumular cada giga de intercambio en el disco.
Y, por supuesto, reinicie su Mac con frecuencia. Si el rendimiento de su sistema parece volverse lento, es hora de reiniciar. La administración de memoria moderna hace que esto sea menos necesario que en el pasado, ¡pero nunca hay ningún daño en reiniciar!
Todavía me deleito con la cantidad de información que hay en ese script de shell y toda la información que arroja. Asegúrese de pasar un PID a la secuencia de comandos si tiene un programa en el que está particularmente interesado en ver el uso.
La suma de los tamaños de los once archivos de intercambio no es extraordinaria. Para mi MacBookPro5,2 con una unidad híbrida interna mucho más grande, creé una partición de 32 GB hibernatefile(8,59 GB) más archivos de intercambio. En la mayoría de los casos, lo trato purgecomo último recurso debido al aumento resultante en la actividad del disco.

Respuestas (1)

Sí, puede configurar el dynamic_pager, pero para la mayoría es más sencillo deshabilitarlo y ver qué programa falla debido a los inevitables errores de falta de memoria.

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

Preste atención a los programas que implementan sus propios sistemas de memoria virtual/caché/paginación como la virtualización y Adobe Suite en caso de que los haya ajustado sin darse cuenta para usar más RAM de la que está disponible en el sistema. Tienden a ser los primeros en mi lista de investigación cuando veo una Mac con una asignación de intercambio fuera de control en el sistema de archivos.