¿Se puede evitar que macOS detenga una aplicación cuando el sistema se queda sin memoria de la aplicación?

1

A veces ejecuto proyectos informáticos distribuidos en BOINC Manager mientras mi iMac está inactivo. A menudo, aparece un cuadro de diálogo Forzar el cierre que muestra el mensaje 'Su sistema se ha quedado sin memoria de la aplicación'. Cuando esto sucede, todas las aplicaciones abiertas, excepto el Finder, se detienen y deben reiniciarse manualmente, una por una, desde el cuadro de diálogo.

I podría reducir la cantidad de RAM que BOINC Manager puede usar, pero preferiría asignar la mayor cantidad de RAM posible a los proyectos BOINC. ¿Cómo puedo evitar que macOS suspenda BOINC (o cualquier otra aplicación o aplicación) cuando el sistema se queda sin RAM?

Actualización : este problema parece haberse solucionado con una actualización reciente de BOINC.

    
pregunta Richard Brockbank 06.05.2017 - 12:00

1 respuesta

1

Lo más probable es que no quieras evitar que MacOS suspenda las aplicaciones cuando el sistema se queda sin RAM cuando sabes que la única alternativa es eliminar el programa. Es decir. detenga el programa para que no se ejecute ahora y aquí sin guardar sus datos ni nada de eso.

Sin embargo, no es necesario reiniciar los programas que están en pausa como en "cerrar el programa y volver a iniciarlo". En su lugar, puede realmente detener el programa cuando tenga suficiente memoria libre en el sistema. Puedes hacer esto desde la terminal ejecutando:

kill -CONT <pid>

donde debe reemplazarse con el ID de proceso del proceso, que desea deshacer la pausa.

Puede encontrar la ID del proceso utilizando el Monitor de actividad o el comando "ps" en la Terminal (en este caso, busque los procesos con estado T, ya que estos son los que están en pausa / detenidos).

Una forma fácil de no hacer pausa y encontrar la ID de una sola vez es:

kill -CONT 'pgrep myprogram'

donde myprogram es el nombre del programa que quieres recuperar.

La segunda parte de su pregunta donde describe el escenario ideal es muy difícil de lograr con un programa estándar. En general, los programas pueden solicitar memoria del sistema operativo, pero el sistema operativo no puede solicitarla nuevamente después. Es posible, pero requiere programas muy especializados, lo que generalmente no es el caso.

Esto significa que una vez que macOS haya otorgado a su programa, por ejemplo, 1 GB de RAM, el sistema operativo no puede recuperarlo cuando otros programas quieren más memoria. Si le quitas memoria a los programas que no están especialmente diseñados para permitir eso, se bloquearán de manera efectiva tan pronto como intenten usar la memoria perdida.

    
respondido por el jksoegaard 18.03.2018 - 01:09

Lea otras preguntas en las etiquetas