योसेमाइट पर स्वैपिंग अक्षम करें


12

OS X मावेरिक्स के नीचे और नीचे हम बस launchctl unloaddynam_pager plist कर सकते हैं , लेकिन OS X Yosemite के बाद से इस plist को उतारने का कोई प्रभाव नहीं है।

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
मैंने बस उपयोग करने की कोशिश की sudo nvram boot-args="vm_compressor=2", जो निश्चित रूप से सही समाधान हो सकता है, जब Apple.stackexchange.com/q/118839/57060 को देख रहा हो । मैंने उस आदेश को लागू किया और रिबूट किया। वहाँ अभी भी कुछ ही घंटों में कोई स्वैप है, तो बस सत्यापित करने के लिए ;-) स्वीकार करेंगे (वैसे, कि एकल आदेश को छोड़कर इस पोस्ट में सब कुछ बेकार आदेशों रहे हैं ...)
bwoebi

1
अनुयायियों के लिए, vm_compressor 2 VM_PAGER_COMPRESSOR_NO_SWAP है और 4 VM_PAGER_COMPRESSOR_WITH_SWAP (Ref: www.apple.stackchange.com/q/118839/25085) है। सिएरा पर मुझे पहले nvram: Error setting variable - 'boot-args': (iokit/common) general errorतक सिस्टम अखंडता संरक्षण को अक्षम करने तक नहीं मिलता है , फिर यह काम करता है
rogerdpack

3

यहाँ मैं क्या कर रहा हूँ:

सूडो pmset -a हाइबरनेटमोड 0
(हाइबरनेशन मोड को अक्षम करता है)

sudo rm -rf / private / var / vm /
* (मौजूदा स्वैप फ़ाइलों को निकालता है)

sudo chflags uchg / private / var / vm /
(swapfile निर्देशिका को बंद कर देता है, कुछ भी फ़ोल्डर में लिखे जाने से रोकता है)

जैसा कि अन्य लोगों ने कहा है, हालांकि, कृपया इसे केवल तभी करें जब आपको पता हो कि आप क्या कर रहे हैं।


1
जो मूल रूप से भी काम करता है, लेकिन साफ तरीका नहीं है । यह लॉग फ़ाइलों आदि में संदेश लिखता है .. बस उपयोग करें sudo nvram boot-args="vm_compressor=2"और आप ठीक हैं।
बोवबी

मुझे कहना चाहिए "यहाँ मैंने पिछले दिनों एसएसडी और एक टन रैम के बीच क्या किया है, मैं अब स्वैप को अक्षम करने का विकल्प नहीं चुनता। इसके लायक होने से ज्यादा परेशानी है।
पैट्रिक मैकमोहन

Wiki.summercode.com/ के अनुसार: आपको पहले कुछ लॉन्च करने की बात करनी चाहिए?
रोजरपैक

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

ऐप स्टोर से नए सिरे से स्थापित योसमाइट पर परीक्षण किया गया।


2
हो रही है /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist: Could not find specified service । इसके अलावा सिस्टम पर स्वैप हो रहा है या नहीं इसका भी कोई प्रभाव नहीं पड़ता है। (हां, मैंने रिबूट किया)
ब्वॉइबी

1
सिएरा पर, आपको पहले "
एफडब्ल्यूआईडब्ल्यू

-2

मैंने अपनी स्वैप फ़ाइल को अक्षम करने के लिए गोमेद नामक एक कार्यक्रम का उपयोग किया। और मेरे पास 16GB RAM है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.