Disabilita lo scambio su Yosemite


12

Sotto OS X Mavericks e in basso potremmo semplicemente launchctl unloadplist dinamico_pager, ma il tentativo di scaricare questo plist non ha alcun effetto da OS X Yosemite.

Qual è il nuovo modo per disabilitare i file di scambio ora con OS X Yosemite?


I commenti non sono per una discussione estesa; questa conversazione è stata spostata in chat .
bmike

Risposte:


11

Hai provato qualcosa del genere?

# Check installed RAM, disable VM if 8Gb or more.

mem_inst=`/usr/sbin/sysctl -n hw.memsize`

if [ "$mem_inst" -ge "8589934592" ]; then
    echo "8Gb+ Memory installed."
        if [ "$action" == "unload" ]; then
            sudo nvram boot-args="vm_compressor=2"
            sudo pmset -a hibernatemode 0
            echo "vm.compressor_mode set to 2"
        else
            sudo nvram boot-args="vm_compressor=4"
            sudo pmset -a hibernatemode 3
            echo "vm.compressor_mode reset to defaults"
        fi
            launch_control $action /System/Library/LaunchDaemons com.apple.dynamic_pager
    else
    echo "Less than 8Gb memory."
fi

Questo non è qualcosa che ho scritto, sono state le informazioni che ho trovato.


5
Ho appena provato a usare sudo nvram boot-args="vm_compressor=2", che potrebbe sicuramente essere la soluzione corretta, guardando apple.stackexchange.com/q/118839/97060 . Ho applicato quel comando e riavviato. Accetterà se non ci sono ancora scambi tra poche ore, solo per verificare ;-) (A proposito, tutto il resto in questo post tranne quel singolo comando sono comandi inutili ...)
bwoebi,

1
Per i follower, vm_compressor 2 è VM_PAGER_COMPRESSOR_NO_SWAP e 4 è VM_PAGER_COMPRESSOR_WITH_SWAP (rif: www.apple.stackexchange.com/q/118839/25085). Su Sierra ottengo a nvram: Error setting variable - 'boot-args': (iokit/common) general errormeno che non disabiliti prima la protezione dell'integrità del sistema, quindi funziona
rogerdpack il

3

Ecco cosa faccio:

sudo pmset -a hibernatemode 0
(disabilita la modalità di ibernazione)

sudo rm -rf / private / var / vm / .
* (rimuove i file di scambio esistenti)

sudo chflags uchg / private / var / vm /
(blocca la directory del file di scambio, impedisce che qualsiasi cosa venga scritta nella cartella)

Come altri hanno già detto, per favore, fallo solo se sai cosa stai facendo.


1
Anche questo funziona fondamentalmente, ma non è pulito . Scrive solo messaggi nei file di registro ecc. Basta usare sudo nvram boot-args="vm_compressor=2"e stai bene.
bwoebi

Avrei dovuto dire "Ecco cosa ho fatto in passato" Tra SSD e una tonnellata di RAM, non ho più scelto di disabilitare lo scambio. È più un problema di quanto valga la pena.
Patrick McMahon,

Secondo wiki.summercode.com/… dovresti prima fare qualcosa di launchctl?
rogerdpack,

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

Testato su Yosemite appena installato dall'App Store.


2
Ottenere /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist: Could not find specified service . Inoltre non ha alcun effetto sul fatto che il sistema stia scambiando o meno. (sì, ho riavviato)
bwoebi,

1
su sierra, richiede di "disabilitare prima la protezione dell'integrità del sistema" FWIW
rogerdpack,

-2

Ho usato un programma chiamato Onyx per disabilitare il mio file di scambio. E ho 16 GB di RAM.

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.