Tengo el siguiente problema: cuando ejecuto procesos que consumen mucha memoria, Mac OS X parece negarse a liberar una gran parte del caché del sistema de archivos:
De hecho, en lugar de dejar ir los ~ 30 GB de memoria inactiva, prefiere intercambiar 45 GB (que estaban aumentando en el momento capturado en la imagen).
La ejecución purge
liberó una gran parte de esa memoria, lo que llevó a ~ 15 GB de memoria libre y Mac OS X finalmente se detuvo para molestarme con ese cuadro de diálogo OOM realmente inútil que me pedía que saliera de una de mis aplicaciones GUI...
¿Hay alguna forma en que se le pueda indicar al kernel que insista menos cuando se trata de almacenar en caché la E/S de archivos?
Es difícil saberlo sin acceso a su sistema o pasos para reproducir su error, pero en mi experiencia, el sistema operativo funciona como cualquier otro UNIX cuando el dispositivo de intercambio y el sistema de archivos raíz se llenan. La forma más sencilla de evitar el cuadro de diálogo es asegurarse de tener suficiente espacio libre para crear otro archivo de intercambio (creo que alcanzan un máximo de 2 GB en Mountain Lion).
A la mayoría de las personas les gusta tener un 25 % (o más) de espacio libre, ya que el sistema operativo optimiza los archivos activos y los desfragmenta sobre la marcha, y estos se desactivan automáticamente cuando el espacio libre es bajo para evitar agitar la E/S cuando no hay espacio para escribir o mucho espacio libre. lugares en el disco para elegir para un acceso más rápido a los archivos.
Una diferencia notable entre OS X y otros UNIX es que Apple OS realiza una asignación tardía de páginas para intercambiar, por lo que no ve archivos de intercambio grandes cuando no se necesitan. Para esto, puede deshabilitar el intercambio por completo o asegurarse de que su disco tenga suficiente espacio libre para manejar cualquier cantidad de intercambio que vea en la práctica.
No he oído hablar de nadie que se haya metido con el algoritmo de paginación en sí, pero Apple ha abierto esa parte del sistema operativo, por lo que cualquiera que se preocupe puede hacer cambios en el nivel del código y ejecutarlo.
Comenzaría comprando la siguiente unidad de almacenamiento lateral más grande y controlaría su uso de espacio para asegurarme de que no obtenga menos de 10 GB vacíos como regla general inicial. Si está haciendo un trabajo serio, puede invertir más en espacio en disco para asegurarse de que no se quede sin espacio.
bmike
bárbaro
bmike
sysdiagnose
debe dar a los ingenieros todo lo que necesitan para recomendar una solución de ajuste.bárbaro
bmike