Wyłącz zamianę w Yosemite


12

W OS X Mavericks i poniżej mogliśmy po prostu launchctl unloadużyć dynamicznej pager, ale próba rozładowania tego pisma nie ma żadnego efektu od OS X Yosemite.

Jaki jest nowy sposób wyłączenia plików wymiany teraz w OS X Yosemite?


Komentarze nie są przeznaczone do rozszerzonej dyskusji; ta rozmowa została przeniesiona do czatu .
bmike

Odpowiedzi:


11

Próbowałeś czegoś takiego?

# 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

To nie jest coś, co napisałem, to informacje, które znalazłem.


5
Właśnie próbowałem użyć sudo nvram boot-args="vm_compressor=2", co zdecydowanie może być poprawnym rozwiązaniem, patrząc na apple.stackexchange.com/q/118839/97060 . Zastosowałem to polecenie i uruchomiłem ponownie. Zaakceptuje, jeśli w ciągu kilku godzin nadal nie będzie wymiany, tylko w celu weryfikacji ;-) (Nawiasem mówiąc, wszystko inne w tym poście oprócz tego, że pojedyncze polecenie jest bezużyteczne ...)
bwoebi

1
Dla obserwujących vm_compressor 2 to VM_PAGER_COMPRESSOR_NO_SWAP, a 4 to VM_PAGER_COMPRESSOR_WITH_SWAP (zob .: www.apple.stackexchange.com/q/118839/25085). Na sierra dostaję, nvram: Error setting variable - 'boot-args': (iokit/common) general errorchyba że najpierw
wyłączę

3

Oto co robię:

sudo pmset -a hibernatemode 0
(wyłącza tryb hibernacji)

sudo rm -rf / private / var / vm / .
* (usuwa istniejące pliki wymiany)

sudo chflags uchg / private / var / vm /
(blokuje katalog swapfile, zapobiega zapisywaniu czegokolwiek w folderze)

Jednak jak powiedzieli inni, rób to tylko wtedy, gdy wiesz, co robisz.


1
Co w zasadzie też działa, ale nie jest to czysty sposób . Po prostu zapisuje wiadomości w plikach dziennika itp. Po prostu użyj sudo nvram boot-args="vm_compressor=2"i nic ci nie będzie.
bwoebi

Powinienem powiedzieć „Oto, co zrobiłem w przeszłości”. Między dyskami SSD a toną pamięci RAM nie chcę już wyłączać wymiany. To więcej kłopotów niż jest warte.
Patrick McMahon,

Według wiki.summercode.com/ ... powinieneś najpierw zrobić coś uruchomionego?
rogerdpack

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

Testowane na świeżo zainstalowanym Yosemite z App Store.


2
Uzyskiwanie /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist: Could not find specified service . Nie ma to również żadnego wpływu na to, czy system się zamienia, czy nie. (tak, zrestartowałem komputer)
bwoebi

1
na sierra, wymaga „najpierw wyłączyć ochronę integralności systemu” FWIW
rogerdpack

-2

Użyłem programu Onyx do wyłączenia mojego pliku wymiany. I mam 16 GB pamięci RAM.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.