2 votos

¿Se puede evitar que MacOS ponga en pausa una aplicación cuando el sistema se queda sin memoria de aplicación?

A veces ejecuto proyectos de computación distribuida en BOINC Manager mientras mi iMac está inactivo. A menudo, aparece un cuadro de diálogo para forzar la salida mostrando el mensaje "Su sistema se ha quedado sin memoria de aplicación". Cuando esto ocurre, todas las aplicaciones abiertas, excepto el Finder, se ponen en pausa y hay que reiniciarlas manualmente, una por una, desde el cuadro de diálogo.

I podría reducir la cantidad de RAM que BOINC Manager puede utilizar, pero prefiero asignar la mayor cantidad de RAM posible a los proyectos de BOINC. Cómo puedo evitar que MacOS suspenda BOINC (o cualquier otra app o apps) cuando el sistema se quede sin RAM?

Actualización : este problema parece haber sido solucionado por una reciente actualización de BOINC.

3voto

Jose Chavez Puntos 645

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 matar el programa. Es decir, dejar de ejecutar el programa ahora y aquí sin guardar sus datos ni nada por el estilo.

Sin embargo, no es necesario reiniciar los programas que están en pausa como en "cerrar el programa y volver a empezar". En lugar de ello, puede despausar el programa cuando tenga suficiente memoria libre en el sistema. Puede hacer esto desde el terminal ejecutando:

kill -CONT <pid>

donde debe ser reemplazado por el ID del proceso que se desea deshabilitar.

Puede encontrar el ID del proceso usando el Monitor de Actividad o el comando "ps" en la Terminal (en este caso, busque los procesos con estado T ya que son los que están pausados/parados).

Una forma fácil de desbloquear y encontrar el ID de una sola vez es:

kill -CONT `pgrep myprogram`

donde miprograma es el nombre del programa que se quiere deshabilitar.

La segunda parte de tu pregunta, en la que describes el escenario ideal, es muy difícil de conseguir con un programa estándar. En general, los programas pueden solicitar memoria al sistema operativo, pero el sistema operativo no puede solicitarla de vuelta después. Es posible, pero requiere de programas muy especializados, lo que generalmente no es el caso.

Esto significa que una vez que MacOS ha concedido a su programa, por ejemplo, 1 GB de RAM, el sistema operativo no puede simplemente retirarlo cuando otros programas quieran más memoria. Si le quitas la memoria a programas que no están especialmente diseñados para permitirlo, se bloquearán en cuanto intenten utilizar la memoria perdida.

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