5 votos

Memoria virtual de Mac: cómo hacer que OS X cree archivos de intercambio (página) tan libremente con un arranque normal como con un arranque seguro (swapfile1 etc)

Antecedentes

Cuando mi MacBookPro5,2 con 8 GB de memoria arranca modo seguro Veo que el sistema operativo provoca dynamic_pager(8) para crear archivos de intercambio de una manera relativamente libre. En el sistema de archivos que dedico a swap, los hermanos de

/Volumes/swap/swapfile0

se crean muy rápidamente. El simple uso de una aplicación parece dar lugar a más archivos de intercambio que el uso comparable de esa aplicación con un arranque normal.

Rendimiento con seguro  arranque - con una masa mayor de lo normal de archivos de intercambio externos - es notablemente bueno . Así que me gustaría experimentar con:

  • un igualmente enfoque sin restricciones de los archivos de intercambio con un normal  arranque.

Pregunta

¿Cómo puedo hacer que el sistema operativo se comporte de forma que se cree una masa de archivos de intercambio mayor de lo normal por dynamic_pager ?

Estoy dispuesto a aceptar los riesgos que puede conllevar el mal tuning.

Relacionado

¿Por qué puede haber más memoria conectada en modo seguro que en modo normal?

Las respuestas allí pueden ayudar a las respuestas aquí.


Investigación preliminar

Corrí sysctl -a en modo normal y en modo seguro. Veo diferencias pero (a no ser que me esté perdiendo algo) nada que explique la libertad que se asocia a un arranque seguro.

https://apple.stackexchange.com/a/72732/8546 de @Quantumpanda da que pensar, pero la pregunta que se hace ahí es, en cierto modo, lo contrario de lo que quiero.

En el fallo del servidor, Ajuste del rendimiento de FreeBSD. Sysctls, loader.conf, kernel es popular, pero gran parte de ella parece orientada a la red.

Primeros experimentos

La esencia de esta pregunta era originalmente:

  • ¿Cómo puedo conseguir dynamic_pager para comportarse con un normal arranque como se comporta con un seguro  ¿botas?

- y por eso experimenté con valores para -S y -H .

opción dynamic_pager -S

En 2003, cuando -H y -L fueron hire_point y layoff_point el valor por defecto file_size era de 20000000 Mac OS X en pocas palabras , página 595 ). Para las versiones más recientes del sistema operativo, algunos usuarios prefieren un filesize que es unas cincuenta veces mayor, 1,07 GB en disco:

  • 1073741824

opción dynamic_pager -H

Con y sin un valor para -S Experimenté con varios high-water-trigger incluyendo el sugerido por dynamicpagerwrapper:

  • 209715200

Ninguno tuvo el efecto deseado.


Referencias

¿Cómo abordar la anticuada estrategia de intercambio y paginación en OSX? | dropsafe (2010-03-01, actualizado en 2012)

dynamic_pager_wrapper fuente de dynamicpagerwrapper - envoltura de rendimiento para /sbin/dynamic_pager en OSX

En la Mac Developer Library:

2voto

Old Pro Puntos 2851

Según parece, la razón por la que todos esos archivos de intercambio se crearon tan rápidamente en el modo seguro es porque dynamic_pager volvió a un tamaño de intercambio inicial de 64MB. ¿Cuántos archivos de intercambio has visto? ¿Cuántos quieres ver? ¿Cuántos estás viendo?

Ahora mismo en mi Mac Pro (de sobremesa) con OS 10.8.3 tengo 7 archivos de intercambio (numerados del 0 al 6). ¿Es eso lo que quieres? En realidad, ya que lo has señalado, voy a intentar reducirlo a 2.

Si realmente quieres crear muchos archivos de intercambio, sólo tienes que poner -S 67108864

Por cierto, 1073741824 = 2^30 = 1 GiB

Seguimiento

Resulta que hay un error en dynamic_pager (al menos en Mountain Lion 10.8.4) donde la configuración -S 2147483648 (= 2 GiB) falla debido a algún tipo de error de conversión de 32 bits.

Cannot extend paging file size /private/var/vm/swapfile0 to 18446744071562067968!

2147483648 como un 32 bits con signo es en realidad -2147483648 o 0x80000000 que se extiende a un número de 64 bits mediante la ampliación de la MSB y se convirtió en 0xFFFFFF80000000 que luego se convierte en un 64 bits sin signo que es 18446744071562067968 o 2 GiB * 8 GiB. Una locura. Así que después de jugar con las opciones del paginador dinámico, busque los mensajes de error en los registros de la consola.

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