¿Cómo evitar que OSX asigne tanta memoria virtual como espacio disponible en el disco duro?

Recientemente tuve una pérdida de datos porque el disco duro estaba completamente agotado por la memoria virtual y algunos programas no podían manejar el espacio libre cero en el disco duro. ¿Cómo puedo evitar que esto suceda (además de mantener siempre algunos GB como búfer)?

Esta pregunta puede ser un duplicado de ¿Hay alguna forma de limitar el tamaño del archivo de intercambio de disco en Mac OS X? (2012-09-19), que tiene una respuesta aceptada.

Respuestas (1)

Puedo proponerte una forma de hacerlo, aunque no está completa.

Puede establecer el límite de memoria por proceso usando launchctl limit(consulte la página del manual ). Sin embargo, esto es por proceso, no en todo el sistema.

En la vida real, pocos procesos consumen una gran cantidad de memoria. Por lo tanto, le aconsejo que mire Activity Monitorla salida y vea cuáles son los procesos que consumen más. Cuente los que están usando más del 20% de su RAM. ¿Cuántos procesos de este tipo tiene? Supongamos n y supongamos que tiene m GB de RAM. ¿Cuánto espacio de intercambio máximo desea utilizar? Supongamos s GB de intercambio.

Yo haría el siguiente cálculo:(m + s - 1) / n = <max memory per process in GB>

Convierte los GB en B:<max memory per process in GB> * 1024 * 1024 * 1024 = <max mem per proc in B>

Ahora pruebe este límite y vea si funciona (tenga en cuenta que esta configuración se perderá después de reiniciar, por lo que es "seguro" de realizar):

sudo launchctl limit rss <max mem per proc in B> <max mem per proc in B + 1073741824>

Si está satisfecho con esta elección, puede guardarlos para que sean permanentes. Edite el archivo /etc/launchd.confy agregue:

limit rss <max mem per proc in B> <max mem per proc in B + 1073741824>
@bmike, lo siento, pero ¿no puede poner sus comentarios en su propia respuesta o comentario? No estoy seguro de que la tonelada que usas encaje con la mía. Aunque es valioso, le pediré que deshaga su edición. Siéntase libre de agregarlo como un comentario de mi respuesta o como una respuesta simple.
Simplemente haga clic en editar y revierta mis cambios; tenga en cuenta que el sitio está muy abierto a más de un colaborador en cualquier publicación. Lo que propuse es un componente de respuesta y no un comentario en mi opinión, pero probablemente copiaré sus palabras y agregaré las mías si eso lo hace sentir mejor. Supuse que usted hizo la mayor parte del trabajo y quería que la autoría siguiera siendo suya, pero estoy abierto a dejar su entrada como está y agregar una segunda respuesta.
Lo sé, también configuré algunas de mis publicaciones como wiki de la comunidad. Pero esta vez sentí que el estilo de nuestras respuestas era demasiado diferente y me sentí incómodo. ¡Gracias, encontré que uno puede revertir los cambios! ¡Gran herramienta!
@Huygens un poco confundido, ¿no debería uno multiplicar al convertir de GB a byte?
@FrancisLaclé de hecho! Tienes razón. Editaré la respuesta y corregiré eso. Un error de más de 5 años algo ;-)