C'è un modo per ridurre la swappiness di OS X 10.6 Snow Leopard?


10

Ho 6 GB sul mio vecchio Macbook, con un SSD. Vorrei evitare di scrivere il più possibile sul file di scambio. Fin dal mio aggiornamento, ho sempre avuto almeno una memoria da 1 a 1,5 GB "gratuita". Tuttavia, ho sempre avuto da 2 a 25 MB di spazio di swap usato. (Su 128 MB totali) Come posso ottenere che questo sia lo 0MB utilizzato, a meno che non esaurisca la memoria "gratuita"?

Su Linux, ora c'è un parametro "swappiness" che controlla la tendenza a utilizzare lo swap. Mi piacerebbe far girare lo swappiness di OS X molto molto basso, ma non disattivare completamente lo swap. Mi piacerebbe sapere che la mia macchina funzionerà più lentamente se esaurisce la memoria invece di avere un panico del kernel. Sono abbastanza vicino a dove voglio essere, ma mi piacerebbe sbarazzarmi di queste scritture in un file di grandi dimensioni che (leggermente) accorcia la vita del mio SSD senza farmi alcun beneficio.


Hai capito che fai quello che vuoi e stai chiedendo una risposta a questa domanda - non lo contesterò. Tuttavia, penso che sia importante renderlo chiaro agli utenti meno esperti di tecnologia: il fatto che il tuo sistema stia cambiando, specialmente su una quantità così piccola, è non un problema, non necessariamente una fonte di lentezza e persino il contrario. Il sistema operativo può decidere che alcune parti della memoria non saranno accessibili ed è più efficace liberare preventivamente alcuni blocchi nella RAM e ottenere errori di cache estremamente improbabili. OS X è molto bravo in questo (vedi l'utilizzo della RAM di app nascoste).
MattiSG

Risposte:


6

Non sono sicuro che un file di scambio da 2 MB a 25 MB sia davvero qualcosa di cui preoccuparsi. Potrebbe essere più utile esaminare i valori di Page In e Page Out per determinare come spesso i dati vengono scritti nello swap. È possibile trovare il numero di eventi della pagina utilizzando la scheda Memoria di sistema dell'applicazione Monitoraggio attività.

Ci sono un paio di altre opzioni che potresti provare, ma penso che tu sia probabilmente senza garanzia se provi:

Vorrei solo suggerire di sopportare il sistema esistente dal momento che l'usura del tuo SSD è probabilmente minima, soprattutto perché l'usura SSD è un po di una mito comunque o forse non è .


Grazie, ma se rileggi la mia domanda, scoprirai che ci sono in realtà due file da 64 MB ciascuno. Non sono solo da 2 a 25 MB. È 128MB di swap totale e da 2 a 25 MB di utilizzo. Quello che trovo fastidioso, è che lo swap totale varia tra 64 e 128 MB. Ciò sembrerebbe indicare che il 2 ° file di scambio viene disattivato e quindi ricreato. Questo è un sacco di utilizzo del disco per niente. Sapevo già delle due mod di sistema che hai suggerito e ho indicato che non mi piaceva la prima. Il 2 °, trovo che non sia ben progettato.
StCredZero

Questa è la tua risposta. Disabilitare il pager dinamico può davvero aiutare, ma corri il rischio che le app finiscano male quando non hai più RAM. Se in realtà la memoria insufficiente non è un problema per te, non preoccuparti.
Dustin

Il primo link è morto.
kenorb

1
Ho risolto il link non funzionante .... sebbene questa risposta sia ora 5 anni e quasi 6 versioni di macOS obsolete.
Mike Meyers

4

Se c'è qualcosa di simile disponibile in OSX, probabilmente vive da qualche parte qui dentro:

  sysctl -a | grep ^vm | sort

Mi sembrano possibili sospetti:

  vm.vm_page_free_target: 2000
  vm.memory_pressure: 0
  vm.page_free_wanted: 0

Un documento HP sulla gestione delle prestazioni della memoria menziona alcune delle stesse variabili del kernel in S6.1.4 e S6.5. Tuttavia, questo sembra l'uovo d'oro in HP Tru64, e non c'è nulla di simile a ciò che vedo in OSX:

  vm_aggressive_swap

Googling su vm_page_free_target apre un libro di OSX Internals che potrebbe aiutare.


2

Per una soluzione temporanea, puoi eseguire sudo purge forzare la svuotamento e la svuotamento della cache del disco che potrebbe ridurre un po 'la swappiness (se nella /private/var/vm, per esempio. Ne ho 17G al momento della scrittura). Se non funziona, rimuovere i file manualmente, sarebbero ricreati.

È inoltre possibile disabilitare il cercapersone dinamico (daemon di scambio), quindi eseguire il terminale (è necessario riavviare):

sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist

Per riattivare:

sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist

Sfortunatamente nell'ultimo OS X devi disabilitare anche SIP ( System Integrity Protection ) che in realtà non è raccomandato. Vedere: Come disattivare la System Integrity Protection (SIP) AKA "rootless" su OS X 10.11, El Capitan?

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.