요세미티에서 스와핑 비활성화


12

OS X Mavericks 이하 launchctl unload에서는 dynamic_pager plist를 사용할 수 있지만이 plist를 언로드하려고 시도해도 OS X Yosemite 이후에는 아무런 영향을 미치지 않습니다.

OS X Yosemite에서 스왑 파일을 비활성화하는 새로운 방법은 무엇입니까?


의견은 긴 토론을위한 것이 아닙니다. 이 대화는 채팅 으로 이동 되었습니다 .
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
방금 apple.stackexchange.com/q/118839/97060을 볼sudo nvram boot-args="vm_compressor=2" 때 올바른 솔루션 일 수있는 을 사용하려고했습니다 . 해당 명령을 적용하고 재부팅했습니다. ;-) 단지 확인하기 위해, 여전히 몇 시간에는 스왑 존재하지 않는 경우는 받아 들일 것이다 (그런데, 그 하나의 명령 제외하고는이 게시물에 다른 모든 쓸모 명령은 ...입니다)
bwoebi

1
팔로워의 경우 vm_compressor 2는 VM_PAGER_COMPRESSOR_NO_SWAP이고 4는 VM_PAGER_COMPRESSOR_WITH_SWAP입니다 (참조 : www.apple.stackexchange.com/q/118839/25085). 시에라에서는 nvram: Error setting variable - 'boot-args': (iokit/common) general error시스템 무결성 보호를 먼저 비활성화하지 않는 한 작동합니다
rogerdpack

3

내가하는 일은 다음과 같습니다.

sudo pmset -a 최대 절전 모드 0
(최대 절전 모드 비활성화)

sudo rm -rf / private / var / vm / .
* (기존 스왑 파일 제거)

sudo chflags uchg / private / var / vm /
(스왑 파일 디렉토리를 잠그고 폴더에 아무것도 쓰지 못하도록합니다)

그러나 다른 사람들이 말했듯이, 당신이하고있는 일을 알고있는 경우에만 이것을하십시오.


1
기본적으로 작동하지만 깨끗한 방법 은 아닙니다 . 그것은 단지 로그 파일 등에 메시지를 씁니다. 그냥 사용 sudo nvram boot-args="vm_compressor=2"하면됩니다.
bwoebi

SSD와 수많은 RAM간에 "과거에 내가 한 일이 있습니다"라고 말했을 때 더 이상 스왑을 비활성화하지 않습니다. 가치보다 문제가 많습니다.
Patrick McMahon

wiki.summercode.com/ 에 따르면, 먼저 launchctl을해야합니까?
rogerdpack

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

App Store에서 새로 설치 한 Yosemite에서 테스트했습니다.


2
얻기 /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist: Could not find specified service . 또한 시스템 스왑 여부에 영향을 미치지 않습니다. (예, 재부팅했습니다)
bwoebi

1
시에라에 "비활성화 시스템 무결성 보호 최초의"FWIW 당신을 필요
rogerdpack

-2

스왑 파일을 비활성화하기 위해 Onyx라는 프로그램을 사용했습니다. & 나는 16GB의 RAM이 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.