Отключить обмен на Йосемити

12

Под OS X Mavericks и ниже мы просто могли launchctl unloadбы составить список динамических_пейджеров, но попытка выгрузить этот список не имеет никакого эффекта со времен OS X Yosemite.

Какой новый способ отключить файлы подкачки теперь с OS X Yosemite?

bwoebi
источник
Комментарии не для расширенного обсуждения; этот разговор был перенесен в чат .
bmike

Ответы:

11

Вы пробовали что-то подобное?

# 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

Это не то, что я написал, была информация, которую я нашел.

мутант
источник
5
Я просто попытался использовать sudo nvram boot-args="vm_compressor=2", что, безусловно, является правильным решением, когда я смотрю на apple.stackexchange.com/q/118839/97060 . Я применил эту команду и перезагрузился. Приму, если в течение нескольких часов все еще нет обмена, просто для проверки ;-) (Кстати, все остальное в этом посте, за исключением того, что единственная команда - бесполезные команды ...)
bwoebi
1
Для последователей vm_compressor 2 - это VM_PAGER_COMPRESSOR_NO_SWAP, а 4 - VM_PAGER_COMPRESSOR_WITH_SWAP (ссылка: www.apple.stackexchange.com/q/118839/25085). На sierra у меня получается, nvram: Error setting variable - 'boot-args': (iokit/common) general errorесли сначала не отключить защиту целостности системы, потом работает
rogerdpack
3

Вот что я делаю:

sudo pmset -a hibernatemode 0
(отключает режим гибернации)

sudo rm -rf / private / var / vm / .
* (удаляет существующие файлы подкачки)

sudo chflags uchg / private / var / vm / (блокирует каталог swapfile, предотвращает запись
чего-либо в папку)

Однако, как говорили другие, делайте это, только если вы знаете, что делаете.

Патрик МакМахон
источник
1
Что в принципе тоже работает, но не совсем так . Он просто пишет сообщения в лог-файлы и т.д .. Просто используйте sudo nvram boot-args="vm_compressor=2"и все в порядке.
Bwoebi
Я должен был сказать: «Вот что я делал в прошлом». Между SSD и тонной оперативной памяти я больше не хочу отключать своп. Это больше проблем, чем стоит.
Патрик МакМахон
Согласно wiki.summercode.com/… сначала нужно сделать что-то launchctl?
rogerdpack
1
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist

Проверено на только что установленном Yosemite из App Store.

UncleLaz
источник
2
Получение /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist: Could not find specified service . Также это никак не влияет на то, будет ли система меняться или нет. (да, я сделал перезагрузку)
bwoebi
1
на sierra требует от вас «сначала отключить защиту целостности системы» FWIW
rogerdpack
-2

Я использовал программу Onyx, чтобы отключить мой файл подкачки. & У меня есть 16 ГБ оперативной памяти.

Нет своп
источник