¿Se puede influir en el comportamiento de almacenamiento en caché del sistema de archivos de Mac OS X / Darwin?

2

Tengo el siguiente problema: cuando ejecuto procesos que consumen mucha memoria, Mac OS X parece negarse a liberar una gran parte de la caché del sistema de archivos:

Dehecho,enlugardedejardeladolos~30GBdememoriainactiva,prefiereintercambiar45GB(queaumentabanenelpuntoeneltiempocapturadoenlaimagen).

Laejecucióndepurgeliberóunagranpartedeesamemoria,loquellevóa~15GBdememorialibreyMacOSXfinalmentedejódemolestarmeconesecuadrodediálogoOOMrealmenteinútilquemepidequecierreunademisaplicacionesGUI...

¿Hay alguna forma de que el kernel pueda ser instruido para que insista menos cuando se trata de almacenar E / S en el caché?

    
pregunta barbaz 08.02.2013 - 17:41

1 respuesta

1

Es difícil decirlo sin acceso a su sistema o pasos para reproducir su error, pero en mi experiencia, el sistema operativo se está desempeñando como cualquier otro UNIX cuando se llena el dispositivo de intercambio y el sistema de archivos raíz. La forma más sencilla de evitar el diálogo es asegurarse de tener suficiente espacio libre para hacer otro archivo de intercambio (que superan los 2 GB que creo 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 calientes y las desfragmentaciones sobre la marcha, y estos se deshabilitan automáticamente cuando el espacio libre se reduce para evitar la pérdida de IO cuando no hay espacio para escribir. o muchos lugares libres en la unidad para elegir un acceso más rápido a los archivos.

Una diferencia notable entre OS X y otro UNIX es que el sistema operativo Apple realiza una asignación de página tardía para intercambiar, por lo que no ve grandes archivos de intercambio cuando no son necesarios. Para esto, puede desactivar el intercambio por completo o asegúrese de que su unidad tenga suficiente espacio libre para manejar la cantidad de intercambio que vea en la práctica.

No he oído hablar de nadie que se haya enredado con el algoritmo de paginación en sí, pero Apple tiene una fuente abierta en esa parte del sistema operativo, por lo que cualquier persona que se preocupe puede hacer cambios de nivel de código y ejecutar con él.

Comenzaría comprando la siguiente unidad de almacenamiento lateral más grande y monitorearía su uso del espacio para asegurarme de que no tenga menos de 10 GB vacíos como una regla de oro. Si está haciendo un trabajo serio, puede invertir más en espacio de disco para asegurarse de que no se agote.

    
respondido por el bmike 11.02.2013 - 14:12

Lea otras preguntas en las etiquetas