it-swarm-es.com

¿Hay alguna manera de hacer que OSX use más RAM y menos intercambio?

El problema que estoy teniendo está en un servidor (y otras cajas OSX también) tenemos 4GB de RAM, pero estamos encontrando que OSX solo usa 40-60% de los 40-60% de los disponibles RAM mientras También tiene un intercambio de 6-7 GB. El servidor está ejecutando Apache y MySQL mientras las otras máquinas son escritorios.

He estado comparando su uso en cajas de Linux similares (hardware y software) y encontrar que Linux suele usar el 80-90% de la RAM y tiene un archivo de intercambio mucho más pequeño (2-3 GB) . Los servidores Linux también normalmente se ejecutan mucho más rápido.

¿Hay alguna manera de forzar a OSX para usar más o la mayoría de las RAM antes de usar un archivo de intercambio de discos?

En Windows, puede realmente deshabilitar el intercambio por completo. ¿Hay algo similar para OSX?

12
Darryl Hein

¿La respuesta más básica? No. El sistema operativo maneja la administración de la memoria para el usuario: dar un proceso tanta memoria como lo requiere, ya que lo solicita y no proporciona un lote completo en términos de poder modificar la forma en que se realiza el sistema. No ayuda mucho con tratar de averiguar si la utilización de la memoria es parte de la ecuación de por qué los servidores Linux están superando los servidores MAC.

Debido a la falta de "hackabilidad" en el sistema de memoria virtual, sus mejores opciones son evaluar el rendimiento de la memoria virtual para ver si es verdaderamente la razón por la que está teniendo problemas de rendimiento, la más básica es usar vm_stat O USO SIGUIENTE LIVE EN VIVO CON EL USO vm_stat [number of seconds] Para ver cuántas salidas de páginas están ocurriendo. Mudanza Las páginas no utilizadas de la RAM al disco duro tiene un costo mucho menor que para recuperar las páginas de vuelta desde el disco duro a su RAM. Una página en los términos de OS X se refiere a 4kb de datos.

Además, los procesos de 32 bits (por ejemplo, illustrator) no pueden acceder a más de 4 GB, por lo que es teóricamente posible tener 2GB GRATIS y tener un proceso que se agote sin memoria si tuvo 6GB instalado.

¡En su escritorio y los servidores que ejecutaría vm_stat 2 Y verificar la última columna, especialmente cuando experimenta el segundo segundo retraso al cambiar para decir Illustrator.

Para averiguar qué tan grande es el intercambio en realidad, puede verificar el tamaño de intercambio en el monitor de actividad o ejecutar du -shc /var/vm/swap* | tail -n 1.

Usando du -sh /var/vm Tiene una advertencia: en computadoras portátiles que tienen el modo de hibernación (cualquier cosa durante los últimos 4 años o más nuevos) puede haber un sleepimage aproximadamente el tamaño de la cantidad de memoria que ha instalado.


MAC OS X MEMORY JARGON:

Cableado : Esto se refiere al código del kernel y demás. Memoria que nunca debe ser mudada de la RAM. También se conoce como memoria residente.

Compartido : Memoria que se comparte entre dos o más procesos. Ambos procesos mostrarían esta cantidad de memoria para que pueda ser un poco engañoso en cuanto a cuánta memoria está en uso.

real : Este es el uso de la memoria "real" para una aplicación según lo informado por tareas_info (), un recuento aproximado de la cantidad de páginas físicas que la corriente El proceso tiene. (Rsize)

Privado : Esta es la memoria que un proceso se está utilizando únicamente en sí mismo que se usa en la memoria residente. (RPRVT)

virtual : la cantidad total de espacio de direcciones en el proceso que está asignado a cualquier cosa, ya sea que sea un espacio arbitrariamente grande para las variables o cualquier cosa, no es igual a real VM Use. (VSIZE)

Activo : Memoria actualmente etiquetada como Activa y se usa RAM.

Inactivo : "La memoria inactiva ya no se está utilizando y se ha almacenado en caché en el disco. Se mantendrá en RAM hasta Otra aplicación necesita el espacio. Dejar esta información en RAM es su ventaja si usted (o un cliente de su computadora) vuelve a él más tarde ". - Mac OS X AYUDA

Gratis : la cantidad de RAM en realidad disponible sin ningún dato.


La mejor documentación que conozco (y ha podido encontrar en la investigación de seguimiento) es el propio artículo de Apple Gestión de la Memoria en su sitio web de desarrolladores.

Otras fuentes valiosas: Darwin-dev Lista de correo: [ 1 ], [ 2 ] y un artículo antiguo sobre Macosxhints . Además, Mike Ash ha publicado una introducción de buena layman sobre su Blog


Puede ser posible (no lo he intentado) deshabilitar el sistema de memoria virtual ejecutando Sudo launchctl unload /System/Library/LaunchDaemons/com.Apple.dynamic_pager.plist Y luego reiniciando para que Dynamic_Pager (el programa que realmente realice la asignación de memoria virtual) no se inicie. Sin embargo, debido a que el sistema operativo asume que tiene memoria virtual, puede encontrarse con problemas muy, muy rápidamente. Para cargarlo, copia de seguridad, ejecute Sudo launchctl load /System/Library/LaunchDaemons/com.Apple.dynamic_pager.plist (Si es necesario desde el modo de usuario único)

17
Chealion