क्या मैक ओएस एक्स हाइबरनेशन का समर्थन करता है?


40

विंडोज पर, आप अपने कंप्यूटर को हाइबरनेट कर सकते हैं, ताकि "हाइबरनेटिंग" करते समय यह शून्य ऊर्जा का उपभोग करते हुए बहुत तेजी से शुरू हो।

मुझे अपने मैक मिनी पर स्लीप करने का एक विकल्प दिखाई देता है लेकिन हाइबरनेट नहीं। क्या मैक हाइबरनेशन का समर्थन करता है?

मैं तेंदुआ पर हूं।

जवाबों:


34

ओएस एक्स में केवल एक "नींद" विकल्प है। आप इसका नाम नहीं बदल सकते हैं, लेकिन इसके व्यवहार को बदलने के लिए, मैं मैक मिनी पर (हालांकि मैकबुक की तरह "स्लीप एंड हाइबरनेट" मोड) में स्मार्टस्लीप का एक पुराना संस्करण उपयोग करता हूं । यह एक मिनी के लिए काम करता है, हालांकि वेबसाइट केवल मैकबुक को संदर्भित करती है।

(जब 2009 में मैंने यह लिखा था तब भी स्मार्टसिप मुफ्त था।)

मुझे कभी-कभी हार्डवेयर के बारे में शिकायत आती है कि वह ठीक से नहीं हटाया गया है (लेकिन ओएस एक्स ने मुझे कभी नहीं बताया कि हार्डवेयर क्या है, और मेरी टाइम मशीन यूएसबी डिस्क ठीक लगती है - मुझे एक दिन लॉग में झांकना चाहिए, और मुझे लगता है कि यह ओएस एक्स से संबंधित है, नहीं को SmartSleep)।

मैंने उस मिनी (Intel; 10.5 चल रहा है) पर SmartSleep के "हाइबरनेट केवल" का परीक्षण किया है, और यह भी काम करने लगता है। इन परीक्षणों को करते हुए, मैंने देखा कि डिस्प्ले के काला हो जाने के बाद पावर लाइट कुछ सेकंड के लिए पल्सिंग (जैसे कि हाइबरनेट के बजाय नींद को इंगित करना ) शुरू कर देता है। हो सकता है कि यह अभी भी डिस्क पर रैम लिख रहा है। (अब तक, मैंने हमेशा सोचा था कि मेरे मैकबुक पर द पल्सिंग ने संकेत दिया था कि सब किया गया था। लेकिन अब मुझे लगता है कि, जो भी स्लीप मोड एक का उपयोग कर रहा है, उसे शायद जल्द ही शक्ति को अनप्लग नहीं करना चाहिए। थोड़ी देर के बाद, यह पूरी तरह से कम हो जाता है।

2006 में, मैकवर्ल्ड ने बताया कि कैसे बिना उस SmartSleep वरीयता फलक के समान प्राप्त किया जा सकता है। वर्तमान सेटअप की जांच करने के लिए:

pmset -g | grep hibernatemode

मैकवर्ल्ड के पुराने लेख के अनुसार निम्नलिखित लागू होता है, लेकिन लॉरी के उत्तर को पढ़ना सुनिश्चित करें जो बताता है कि आजकल केवल 0, 3 और 25 का उपयोग किया जाना चाहिए :

  • 0 - पुरानी शैली का स्लीप मोड, रैम के साथ, सोते समय सुरक्षित नींद अक्षम, और सुपर-फास्ट वेक।
  • 1 - हाइबरनेशन मोड, रैम में डिस्क पर लिखी गई सामग्री के साथ, सिस्टम पूरी तरह से बंद हो जाता है, जबकि "सो", और धीमा उठता है, हार्ड ड्राइव से रैम की सामग्री को पढ़ने के कारण।
  • 3 - 2005 की गिरावट के बाद से शुरू की गई मशीनों पर डिफ़ॉल्ट मोड। रैम को सोते समय संचालित किया जाता है, लेकिन रैम सामग्री को सोने से पहले डिस्क पर भी लिखा जाता है। कुल बिजली हानि की स्थिति में, सिस्टम हाइबरनेशन मोड में स्वचालित रूप से प्रवेश करता है।
  • 5 - यह मोड 1 के समान है, लेकिन यह उन लोगों के लिए है जो सुरक्षित वर्चुअल मेमोरी (सिस्टम वरीयताएँ »सुरक्षा में) का उपयोग कर रहे हैं।
  • 7 - यह मोड 3 के समान है, लेकिन यह सुरक्षित वर्चुअल मेमोरी का उपयोग करने वालों के लिए है।

और स्लीप मोड सेटिंग को बदलने के लिए समान संख्याओं का उपयोग किया जा सकता है:

सूडो pmset -a hibernatemode 1

11

मैंने एक स्क्रिप्ट लिखी जो आपको तुरंत हाइबरनेशन में प्रवेश करने देगी (बिना आपकी सेटिंग्स को स्थायी रूप से बदलने के)। मुझे यह काफी उपयोगी लगता है, क्योंकि मुझे डिफ़ॉल्ट सेटिंग्स पसंद हैं, लेकिन सड़क पर जब जबरन हाइबरनेशन दर्ज करना चाहते हैं। शायद किसी और को यह उपयोगी भी लगेगा ;-)

#!/bin/bash

# Utility to force your mac immediately into hibernation mode/suspend to disk,
# thus conserving battery considerably (at the cost of slower startup)
# @date 2012-02-10
# @author Carl-Erik Kopseng. Contact at oligofren.wordpress.com

# must be run as root by using sudo or to avoid entering the password, change the pmset
# executable settings by entering
# sudo chmod +s /usr/bin/pmset
# sudo chmod +s /sbin/shutdown

MODE_BACKUP=/tmp/hibernate_mode.bak
SUSPEND_TO_DISK=25 #see man pmset

display_settings() {
    echo "Current settings: " $(pmset -g | grep hibernatemode)
}

save_settings() {
    echo "saving settings"
    pmset -g | grep hibernatemode | awk '{print $2}' > $MODE_BACKUP
}

restore_settings() {
    echo "restoring settings"
    pmset -a hibernatemode $(cat $MODE_BACKUP)
}

set_only_disk_hibernate() {
    echo "changing settings to only suspend to disk (slow, but does not use battery)"
    pmset -a hibernatemode $SUSPEND_TO_DISK
}

hibernate() {
    echo "going into hibernation"
    shutdown -s now
}

save_settings
set_only_disk_hibernate && hibernate
restore_settings

मेनू बार में जोड़ना

यदि आप मेनू पट्टी ("सिस्ट्रे") से इस स्क्रिप्ट को लागू करना चाहते हैं, तो मैं यह करूंगा:

  1. इस लिपि को एक उपयुक्त स्थान (जैसे /usr/local/sbin/) में रखें।
  2. एक AppleScript बनाएं जो इस स्क्रिप्ट को केवल इनवाइट करता है। इसे "हाइबरनेट" कहें
  3. मेनू बार में एक आइकन के रूप में अपनी ऐप्पल स्क्रिप्ट जोड़ें

अब आप मेनू बार-> AppleScripts-> हाइबरनेट पर क्लिक करके स्क्रिप्ट को ट्रिगर कर सकते हैं


1
कृपया, एक
सिस्ट्रे

कृपया एक सिस्टेयर संस्करण बनाएं।
अंक

नमस्ते, टिप्पणियों के लिए धन्यवाद। दुर्भाग्य से, 2013 में मुझे जो नया मैकबुक प्रो मिला, उसमें मेरे पिछले मैक की तुलना में बेहतर स्टैंडबाय परफॉर्मेंस है, और इसकी बैटरी लाइफ बहुत बेहतर है। इसलिए दुर्भाग्य से मेरे लिए आगे बढ़ने और अब सिस्ट्रेई संस्करण बनाने के लिए कोको सीखने के लिए बहुत कम आग्रहपूर्ण है। मैं अब उस वाक्य को हटा दूँगा।
ऑलिगॉफ्रेन

यह बहुत दिलचस्प है, यह कैसे काम करता है? shutdown -s nowतुरंत असर नहीं करता है ?
सिल्वरवॉल्फ - मोनिका

1
@leetbacoon ने इसे मेनू बार में जोड़ने के लिए निर्देश जोड़े। मैं एक मैक के मालिक नहीं है कुछ वर्षों में, इसलिए मैं किसी भी स्क्रीनशॉट पेस्ट नहीं कर सकते ...
oligofren

9

Pmset मैन पेज भी 25इसके बजाय का उपयोग करने की सलाह देता है 1

0000 1000 (बिट 3) डायनेमिक पेजर को हाइबरनेशन से पहले निष्क्रिय पृष्ठों को पृष्ठबद्ध करने के लिए प्रोत्साहित करता है, एक छोटे मेमोरी फुटप्रिंट के लिए।

0001 0000 (बिट 4) डायनेमिक पेजर को हाइबरनेशन से पहले अधिक आक्रामक तरीके से पेज करने के लिए प्रोत्साहित करता है, एक छोटी मेमोरी प्रिंट के लिए।

हम हाइबरनेशन सेटिंग्स को संशोधित करने की अनुशंसा नहीं करते हैं। आपके द्वारा किए गए कोई भी परिवर्तन समर्थित नहीं हैं। यदि आप ऐसा करने के लिए चुनते हैं, तो हम इन तीन सेटों में से एक का उपयोग करने की सलाह देते हैं। आपकी खातिर और मेरा, कृपया अन्य 0, 3, या 25 का उपयोग न करें।

[...]

hibernatemode = 25 (बाइनरी 0001 1001) केवल pmset के माध्यम से निपटाने योग्य है। सिस्टम मेमोरी की एक प्रति लगातार स्टोरेज (डिस्क) में स्टोर करेगा, और मेमोरी को पावर हटा देगा। सिस्टम डिस्क छवि से पुनर्स्थापित करेगा। यदि आप "हाइबरनेशन" चाहते हैं - धीमी नींद, धीमी जाग, और बेहतर बैटरी जीवन, आपको इस सेटिंग का उपयोग करना चाहिए।

कुछ लैपटॉप अब सामान्य नींद के लगभग एक घंटे के बाद हाइबरनेशन ( स्टैंडबाय मोड ) में प्रवेश करते हैं :

  • पावर नैप सक्षम नहीं है (इसलिए डिफ़ॉल्ट रूप से नहीं)
  • कंप्यूटर बैटरी पावर पर है
  • कंप्यूटर USB डिवाइस या बाहरी डिस्प्ले से कनेक्ट नहीं है और ब्लूटूथ डिवाइस के साथ पेयर नहीं है

लैपटॉप, मैक मिनिस और आईमैक का उपयोग 0.2-0.4 डब्ल्यू के बारे में होता है जब स्लीप मोड में बंद या हाइबरनेटिंग और 0.8-1.4 डब्ल्यू। हाइबरनेशन (और हाइबरनेशन + स्लीप मोड जिसे लैपटॉप डिफ़ॉल्ट रूप से उपयोग करते हैं) भी ड्राइव के जीवनकाल को कम कर सकता है ।


6

और OS X Lion के लिए यह हाइबरनेशन के लिए बेहतर काम करता है

सूडो pmset -a हाइबरनेशनोड 25

से

सुडो pmset -a हाइबरनेशन 1

हाइबरनेशनोड 1 किसी कारण से क्रैश का कारण बन सकता है।


क्या वास्तव में 25 के लिए खड़ा है?
अंक

25 0001 1001 के लिए द्विआधारी है जिसका अर्थ है कि बिट्स 4, 3 और 0 सेट हैं (तीन 1: एस)। वे तीन बिट्स आपके कंप्यूटर को अलग-अलग चीजें बताते हैं। बिट 0 (0000 0001) आपके कंप्यूटर को हाइबरनेशन को सक्रिय करने के लिए कहता है (जिसका अर्थ है कि मेमोरी को बंद करने से पहले डिस्क में सहेजना)। बिट 3 (0000 1000) आपके कंप्यूटर को डिस्क पर सहेजने से पहले पुराने कबाड़ की स्मृति को साफ करने के लिए कहता है (इसे बनाने के लिए डिस्क पर कम सामान को सहेजना पड़ता है)। बिट 4 (0001 0000) आपके कंप्यूटर को मेमोरी को साफ करते समय और अधिक आक्रामक होने के लिए कहता है (यह डिस्क पर भी कम सामान को बचाने के लिए अनुमति देता है)।
विलेम

5

उन उत्तरों के लिए, जो pmset के माध्यम से 'hibernatemode' को दोहराते हैं, यह ध्यान रखना उपयोगी है कि pmset पर 'बल' विकल्प परिवर्तन को क्षणिक बनाता है। जब सिस्टम हाइबरनेशन से उठता है तो सेटिंग को याद नहीं किया जाएगा। उदाहरण के लिए:

pmset -a hibernatemode 25 force

एक पारंपरिक हाइबरनेट (यानी डिस्क और पावर को हटाए गए सिस्टम राज्य) का प्रतिनिधित्व करने के लिए हाइबरनेट मोड को बदल देगा, लेकिन अगली बार जब तक सिस्टम चालू नहीं होता है या सेटिंग्स डिस्क से पढ़ी जाती हैं ( pmset touch)।

बल विकल्प का उपयोग करके वर्तमान हाइबरनेटमोड सेटिंग्स को सहेजने और पुनर्स्थापित करने की आवश्यकता से बचा जाता है।


महान टिप! यदि आप बहुत परेशान करते हैं तो आप मेरे उत्तर को संपादित कर सकते हैं :)
oligofren

3

हाँ। इसे सुरक्षित नींद कहा जाता है। इसे प्राप्त करने का सबसे आसान तरीका गहरी नींद विजेट का उपयोग करना है ।


2
मैं एक जुनून के साथ विगेट्स से नफरत करता हूं। क्या कोई गैर-विजेटी है?
एंग्रीहैकर

1
लैपटॉप मालिकों के लिए सबसे आसान तरीका ढक्कन को बंद करना है। ऊपरी बाएं कोने में Apple मेनू में भी है, नींद '' विकल्प (कम से कम मेरे टाइगर पर)।
टेडेस्ज़ ए। कडलुबोस्की

3

यदि आपके लैपटॉप की बैटरी पूरी तरह से खत्म हो जाती है, तो हाइबरनेशन भी स्वचालित रूप से चालू हो जाएगा।


2
एक मैक मिनी में कोई बैटरी नहीं है ...
अर्जन

2

मैंने पढ़ा है कि "सेफ स्लीप" सभी इंटेल मैक और कुछ लेट मॉडल पावरपीसी मशीनों पर डिफ़ॉल्ट रूप से चालू है (मुझे लगता है कि इंटेल मिनी का यह समर्थन है, लेकिन पीपीसी वाले शायद बिना असमर्थित हैक के नहीं हैं)।

लेकिन अपने आप से "सुरक्षित नींद" "हाइबरनेशन" के समान नहीं है। यह रैम को डिस्क में सहेजने का एक संयोजन है, लेकिन सामान्य नींद भी करता है। यह एक तीव्र जागरण की अनुमति देता है, और यदि मशीन सो रही है तो बिजली पूरी तरह से विफल होने पर सिस्टम स्थिति को संरक्षित करता है।

आप यह बता सकते हैं कि क्या कोई सिस्टम सुरक्षित नींद का उपयोग कर रहा है (कम से कम एक नींद के बाद) एक फ़ाइल / var / vm / स्लीमेज के लिए जाँच कर रहा है जो कि स्थापित RAM के समान आकार है। जब सुरक्षित नींद सक्रिय होती है, तब भी मशीन के स्टेटस लाइट के सामान्य फीके-अप / फेड-डाउन लूप शुरू होने से पहले स्लीप मेनू आइटम (या बटन, या कमांड-ऑप्शन-इजेक्ट) को पकड़े जाने के बीच अधिक देरी होगी।

समाधान का अंतिम बिट रैम स्लीमेज को बचाने के बाद मशीन को पूरी तरह से बंद करने के लिए प्राप्त करना है। ऐसा लगता है कि हाइबरनेटमोड सेट करने के लिए कमांड-लाइन प्रोग्राम pmset का उपयोग करके इसे कॉन्फ़िगर करना संभव है । आप इस कॉन्फ़िगरेशन परिवर्तन करने के स्वचालित तरीके के लिए डीप स्लीप की तरह कुछ चेकआउट कर सकते हैं।


मेरे इंटेल मैक मिनी पर डिफ़ॉल्ट रूप से सुरक्षित नींद नहीं थी। मैंने इसे सक्षम करने के लिए SmartSleep का उपयोग किया, लेकिन वास्तव pmsetमें वही प्राप्त कर सकता है।
अर्जन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.