Memoria virtuale Mac: come rendere OS X creare file di scambio (pagina) liberamente con un avvio normale come con un avvio sicuro (file di scambio1 ecc.)

5

Sfondo

Quando il mio MacBookPro5,2 con 8 GB di memoria si avvia in modalità sicura vedo che il sistema operativo causa dynamic_pager (8) per creare file di scambio in un modo che relativamente sfrenato. Nel file system che dedico allo scambio, fratelli di

/Volumes/swap/swapfile0

sono creati molto rapidamente. L'uso semplice di un'app sembra generare più file di scambio rispetto all'uso paragonabile di quell'app con un avvio normale.

Le prestazioni con avvio sicuro - con una massa di file di scambio esterni superiore alla normale - sono straordinariamente buone . Quindi mi piacerebbe sperimentare:

  • un altrettanto approccio sfrenato per scambiare file con un avvio normale .

Domanda

Come posso far funzionare il sistema operativo in modo che venga creata una massa di file di scambio superiore alla normale da dynamic_pager ?

Sono pronto ad accettare i rischi che possono essere associati alla cattiva messa a punto.

correlati

Perché più memoria può essere cablata in modalità sicura rispetto alla modalità normale?

Le risposte possono aiutare a trovare risposte qui.

Indagine preliminare

Ho eseguito sysctl -a in modalità normale e in modalità provvisoria. Vedo differenze ma (a meno che manchi qualcosa) nulla per spiegare la libertà associata ad un avvio sicuro.

Il link di @Quantumpanda è stimolante, ma la domanda è, in un certo senso, l'opposto di quello che voglio.

In Server Fault, Ottimizzazione delle prestazioni di FreeBSD. Sysctls, loader.conf, kernel è popolare ma molto di quello sembra orientato alla rete.

Primi esperimenti

L'essenza di questa domanda era originariamente:

  • Come posso ottenere dynamic_pager per comportarmi con un avvio normale in quanto si comporta con un avvio sicuro ?

- e così ho sperimentato i valori per -S e -H .

opzione dynamic_pager -S

Nel 2003, quando -H e -L erano hire_point e layoff_point , il file_size predefinito era 20000000 Mac OS X in poche parole , pagina 595 ). Per le versioni più recenti del sistema operativo, alcuni utenti preferiscono un filesize di circa cinquanta volte maggiore, 1,07 GB su disco:

  • 1073741824

opzione dynamic_pager -H

Con e senza un valore per -S , ho sperimentato vari valori di high-water-trigger , incluso quello suggerito da dynamicpagerwrapper:

  • 209715200

Nessuno ha avuto l'effetto richiesto.

Riferimenti

Affrontare la strategia obsoleta di scambio e paginazione in OSX? | dropsafe (2010-03-01, aggiornato nel 2012)

origine dynamic_pager_wrapper da dynamicpagerwrapper - performance wrapper per / sbin / dynamic_pager su OSX

Nella libreria per sviluppatori Mac:

posta Graham Perrin 14.04.2013 - 17:23
fonte

1 risposta

1

AFAIK il motivo per cui tutti questi file di scambio sono stati creati così rapidamente in modalità provvisoria è perché dynamic_pager è tornato a una dimensione di scambio iniziale di 64 MB. Quanti file di scambio hai visto? Quanti vuoi vedere? Quanti stai vedendo?

In questo momento sul mio Mac Pro (desktop) con OS 10.8.3 ho 7 file di scambio (numerati 0-6). È questo che vuoi? In realtà, dal momento che lo hai indicato, ho intenzione di provare a ridurlo a 2.

Se vuoi veramente creare molti file di scambio, imposta -S 67108864

BTW, 1073741824 = 2 ^ 30 = 1 GiB

Followup

Risulta che vi è un bug in dynamic_pager (almeno in Mountain Lion 10.8.4) dove l'impostazione -S 2147483648 (= 2 GiB) ha esito negativo a causa di una sorta di errore di conversione a 32 bit.

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

2147483648 come accesso a 32 bit è in realtà -2147483648 o 0x80000000 che viene esteso a un numero a 64 bit estendendo l'MSB e trasformato in 0xFFFFFFFF80000000 che viene quindi convertito in un 64 bit senza segno che è 18446744071562067968 o 2 GiB * 8 GiB . Pazzo. Quindi, dopo aver combinato le opzioni del cercapersone dinamico, cerca i messaggi di errore nei registri della console.

    
risposta data 29.04.2013 - 08:06
fonte

Leggi altre domande sui tag