पिछले LTS (16.04) की तुलना में डिफ़ॉल्ट सेटिंग्स में किए गए परिवर्तन हैं। मेरे मामले में हाइबरनेशन तब तक काम नहीं करता जब तक कि मैंने कई कदम नहीं उठाए, उनमें से स्वैप फ़ाइल का आकार बढ़ा, इसे चालू किया, सुनिश्चित किया कि नीतियों ने इसे अनुमति दी है, आदि।
यह आसानी से पूरे StackExchange पर मेरा सबसे लंबा जवाब हो सकता है इसलिए मैंने हेडर को वर्णनात्मक बनाने की कोशिश की ।
जूते में हाइबरनेशन नहीं था
अपने लॉग पर एक नज़र रखना उचित होगा ( dmesg
मदद कर सकते हैं) और देखें कि क्या कुछ है। ऐसे कारण हैं जब आप सिस्टम को हाइबरनेट करने के लिए कहने के बावजूद, यह वास्तव में नहीं होगा, या यह (नींद) के बजाय रैम को निलंबित कर देगा।
किसी भी हाइबरनेट से संबंधित संदेशों को देखने kern.log
और देखने के syslog
साथ ही चोट नहीं पहुंचेगी। "समस्या" से शुरू होने वाले अनुभाग आपको विशिष्ट मुद्दों के साथ मदद कर सकते हैं।
स्वैप फ़ाइल या स्वैप विभाजन
महत्वपूर्ण परिवर्तनों में से एक यह है कि अब आप एक स्वैप विभाजन नहीं करते हैं, लेकिन आपके पास एक स्वैप फ़ाइल है।
स्वैप फ़ाइल आपके हार्डवेयर / ड्राइवर / OS और हाइबरनेशन के मिश्रण के लिए काम नहीं कर सकती है।
हाइबरनेशन बंद हो गया
नीतियां हाइबरनेशन को बंद या अस्वीकृत भी कर सकती हैं।
शब्दजाल
RAM के लिए सस्पेंड - RAM डेटा रखता है, कंप्यूटर तेजी से सो जाता है, निलंबित होने पर अधिक ऊर्जा का उपयोग करता है, तेजी से उठता है। कुछ इस नींद को बुलाते हैं।
डिस्क को निलंबित करें - उर्फ हाइबरनेशन। रैम को स्वैप (विभाजन या फ़ाइल) में सहेजा जाता है, कंप्यूटर धीमी नींद में चला जाता है, हाइबरनेट करते समय कम ऊर्जा का उपयोग करता है, धीमी गति से जागता है।
आवश्यक शर्तें - क्या आपके पास पर्याप्त जगह है?
हाइबरनेट करने के लिए, आपको अपनी पूरी रैम को अपनी हार्ड ड्राइव में सहेजने (यहां सरलीकरण) करने की आवश्यकता है। तो, आपको ऐसा करने के लिए पर्याप्त स्थान निर्धारित करने की आवश्यकता है। यदि आप नहीं करते हैं, तो यह विफल हो जाएगा और आप हाइबरनेट नहीं करेंगे।
free -m
आपको बताएगा कि आपकी स्वैप में कितनी मेमोरी है, उपयोग करें और कितनी है।
df -h
आपको बताएगा कि आपके पास प्रत्येक माउंट पॉइंट पर कितना डिस्क स्थान है और कितना उपयोग किया जाता है, नि: शुल्क, आदि। यह महत्वपूर्ण है क्योंकि आप बाद में यह निर्दिष्ट करना चाह सकते हैं कि आपकी स्वैप फ़ाइल कहाँ स्थित होगी, या किस विभाजन को "ट्रिम" करना है आपके स्वैप के लिए पर्याप्त जगह है।
cat fstab
यदि आपके पास स्वैप विभाजन या फ़ाइल है तो आपको जानकारी देनी चाहिए। उबंटू हाइबरनेशन के अनुसार FAQ swapfile
हमेशा हार्डवेयर / ड्राइवरों के कुछ संयोजनों के साथ काम नहीं कर सकता है।
यदि आपके पास पर्याप्त स्थान नहीं है, तो Ubuntu swap FAQ का पालन करें । यह आपको बताता है कि स्वैप फ़ाइल को कैसे बढ़ाया जाए, एक और जोड़ें, यह जांचें कि क्या इसका उपयोग किया गया है आदि कमांड और स्पष्टीकरण के साथ। वास्तव में अच्छा संसाधन।
मेरे पास अपनी RAM फिट करने के लिए पर्याप्त जगह नहीं है!
कर्नेल डॉक्स कहते हैं:
/ sys / power / image_size सस्पेंड-टू-डिस्क तंत्र द्वारा बनाई गई छवि के आकार को नियंत्रित करता है। यह एक गैर-नकारात्मक पूर्णांक का प्रतिनिधित्व करने वाला एक स्ट्रिंग लिखा जा सकता है जिसका उपयोग बाइट्स में छवि आकार की ऊपरी सीमा के रूप में किया जाएगा। सस्पेंड-टू-डिस्क तंत्र यह सुनिश्चित करने के लिए अपनी पूरी कोशिश करेगा कि छवि का आकार उस संख्या से अधिक न हो। हालांकि, अगर यह असंभव हो जाता है, तो यह संभव है कि सबसे छोटी छवि का उपयोग करके किसी भी तरह से निलंबित करने की कोशिश करेगा। विशेष रूप से, यदि "0" इस फाइल में लिखा गया है, तो सस्पेंड इमेज यथासंभव छोटी होगी। इस फ़ाइल से पढ़ने से वर्तमान छवि आकार सीमा प्रदर्शित होगी, जो डिफ़ॉल्ट रूप से उपलब्ध RAM के 2/5 पर सेट है।
इसलिए, अपनी छवि का आकार बदलने की कोशिश करें। कैसे - कृपया एक और प्रश्न पूछें।
आवश्यकताएँ - क्या आपका कर्नेल सस्पेंड-टू-डिस्क का समर्थन करता है?
कर्नेल जो कुछ भी सूचीबद्ध है /sys/power/state
, उसका समर्थन करता है :
cat /sys/power/state
(मेरी जानकारी के लिए) की अनुमति प्रविष्टियां शामिल हैं: mem
, standby
, freeze
, disk
। स्पष्टीकरण:
mem
- कई अर्थ हैं, जो आपके सिस्टम पर बिल्कुल आपके द्वारा पता लगाएंगे cat /sys/power/mem_sleep
। मेरे पास है:s2idle [deep]
standby
- पावर-सस्पेंड (यदि समर्थित हो)
freeze
- सस्पेंड टू आइडल (STI)
disk
- डिस्क टू सस्पेंड (एसटीडी), हाइबरनेशन । यह - आप चाहते हैं।
फिर हमें जांच करने की आवश्यकता है cat /sys/power/disk
। यदि आपके पास वहाँ है disabled
तो अपने BIOS में सुरक्षित बूट की तलाश में गोता लगाएँ - यही एकमात्र विचार है जो मैं पेश कर सकता हूं और केवल एक चीज जिसे मैं जानता हूं वह हस्तक्षेप कर सकता है और हाइबरनेशन को बंद कर सकता है। जब मैं केवल SecureBoot के बारे में जानता हूं, तो अन्य हस्तक्षेप हो सकते हैं, इसलिए आपके BIOS पर एक नज़र रखना एक अच्छा विचार है, भले ही आपके पास कोई "सुरक्षित बूट" न हो।
यहाँ पढ़ना:
- कर्नेल डॉक्स
- हाइबरनेशन पर डेबियन विकी
टीबीएच, भले ही आपका कर्नेल हाइबरनेशन का समर्थन नहीं करता है, आप इसे दूसरे तरीके से आज़मा सकते हैं, नीचे अनुभाग पर स्क्रॉल करेंInterfaces
।
इसे पढ़ें - चेतावनी और समस्याएं - कोई BTRFS नहीं
किसी विशेष क्रम में नहीं:
- सभी चिपसेट काम नहीं करेंगे (ऐसे स्रोत नहीं हैं जिन्हें मैं यहां उद्धृत कर सकता हूं तो चलिए यह कहते हैं कि यह हार्स है)
- VAIO में समस्याएं हैं, माना जाता है कि उनका मुकाबला करने के लिए एक झंडा है
- सिक्योरबूट को अक्सर हस्तक्षेप या हाइबरनेशन बंद करने के रूप में उद्धृत किया जाता है
- वेक-ऑन-लैन हाइबरनेशन के साथ भी बिजली की खपत करता है
- मॉड्यूल की संख्या (विशेष रूप से ग्राफिक्स) को पहले से ही शुरू किया जा सकता है क्योंकि आपके सिस्टम को ठीक से हाइबरनेशन से फिर से शुरू किया जाता है - यह आमतौर पर फिर से शुरू होने पर काली स्क्रीन का कारण होता है । कैसे मुद्दों डिबग करने के लिए युक्तियाँ के लिए ArchLinux विकी को देखो। मैं हाइबरनेट मुद्दों पर उबंटू FAQ भी सुझाऊंगा। लॉन्चपैड बग्स के माध्यम से ब्राउज़ करने से भी परिणाम मिल सकते हैं। IIRC, फिर से शुरू होने से पहले देरी में निर्दिष्ट एक कर्नेल पैरामीटर है ।
- अलग-अलग Polkit संस्करणों के लिए हाइबरनेशन प्रक्रिया अलग है
BTRFS और हाइबरनेट का उपयोग न करें: दूषित डेटा परिणाम होगा।
मैं हाइबरनेट करना चाहता हूं - स्वैप विभाजन
ऐसे मामले होते हैं, जब लोग स्वैप फ़ाइल को वापस भेज देते हैं और स्वैप विभाजन पर वापस चले जाते हैं। आखिरकार, इसने पिछले एलटीएस पर काम किया। मैंने कोशिश नहीं की, इसलिए संकेत नहीं देंगे।
मैं हाइबरनेट करना चाहता हूं - स्वैप फ़ाइल के साथ
- सुनिश्चित करें कि आपके पास वहां पर्याप्त जगह है। उबंटू स्वैप एफएक्यू आपको बताता है कि आपको कितनी जरूरत है, ऊपर से आदेश भी ऐसा करते हैं। यदि आपको यहां अधिक जानकारी की आवश्यकता है, तो कृपया एक और प्रश्न पूछें, क्योंकि यह एक लंबा विषय है।
- स्वैप फ़ाइल को बढ़ाएं या अच्छे पर्याप्त आकार के साथ एक नया बनाएं (पसंदीदा, मैं @ एमुरु से सहमत हूं ) और
/etc/fstab
नए में बदलूं । परिवर्तन देखने के लिए रिबूट अच्छी तरह से लिया गया है ( fstab
ताकि आप केवल मामले में आसानी से वापस आ सकें।
- उपयुक्त कर्ता के साथ इस पर अपनी कर्नेल को इंगित करें, इसलिए यह पता है कि कहां से फिर से शुरू करना है।
- अद्यतन करें / अपने बूट लोडर को पुनः कॉन्फ़िगर करें और रिबूट करें।
कर्नेल पैरामीटर? भयानक!
यदि आप ऐसा करना चाहते हैं तो सावधानीपूर्वक पढ़ें और तय करें, लेकिन यह आपके कर्नेल को कॉन्फ़िगर करने का एक तरीका है। इसके माध्यम से हाइबरनेट करना आसान हो सकता है systemd
और uswsusp
( नीचे इंटरफेस देखें)। यह हो सकता है, कि आप - मेरे जैसे - अंततः सस्पेंड-टू-रैम तय करेंगे और आप एक स्वैप फाइल पर 32 जीबी नहीं रखना चाहते (उदाहरण के लिए, अपने लैपटॉप में एक एसएसडी वाले लोगों के लिए इतना महान नहीं)। परंतु!
- फ़ाइल स्वैप करने के लिए हाइबरनेट करने के
resume=
लिए यह जानना आवश्यक है कि आपकी स्वैप फ़ाइल किस पार्टीशन पर है और resume_offset=
यह जानने के लिए कि स्वैप फ़ाइल कहाँ से शुरू करना है।
- विभाजन के लिए हाइबरनेट को विभाजन को
resume=
इंगित करने की आवश्यकता होती है।
- काले स्क्रीन के मुद्दों को हल करने के लिए अच्छी तरह से आवश्यकता हो सकती है
resumedelay=
।
हाइबरनेशन से फिर से शुरू करने में देरी पर कर्नेल डॉक्स:
resumedelay = [HIBERNATION] फिर से शुरू फ़ाइलों को पढ़ने का प्रयास करने से पहले विराम देने के लिए (सेकंड में) विलंब
स्वैप-फ़ाइल और हाइबरनेशन के लिए आवश्यक पैरामीटर :
रिज्यूम = [SWSUSP]
Specify the partition device for software suspend
Format:
{/dev/<dev> | PARTUUID=<uuid> | <int>:<int> | <hex>}
रिज्यूमे_ऑफ़सेट = [SWSUSP]
Specify the offset from the beginning of the partition
given by "resume=" at which the swap header is located,
in <PAGE_SIZE> units (needed only for swap files).
See Documentation/power/swsusp-and-swap-files.txt
के लिए resume=
एक ही शैली चुनें के रूप में root
तत्व में है fstab
। तो, या तो /dev/sdaX
या UUID
या एलवीएम। फ़ाइल के लिए हाइबरनेटिंग के लिए - विभाजन प्रदान करें जहाँ आपकी फ़ाइल मिल सकती है।
पढ़ना:
- https://www.kernel.org/doc/Documentation/admin-guide/kernel-parameters.txt
- https://wiki.archlinux.org/index.php/Kernel_parameters
समस्या - स्वैप हेडर नहीं मिला
स्वैप फाइल को ठीक से फॉर्मेट करने की आवश्यकता है। यदि आपके लॉग आपको यह बताते हैं, तो आप या तो किसी फ़ाइल को हाइबरनेट करने की कोशिश कर रहे हैं, या आपका फिर से शुरू होने वाला पैरामीटर सही नहीं है।
हाइबरनेशन के लिए उपयोग की गई फ़ाइल या परिवर्तन इंटरफ़ेस को विभाजन या ठीक करने के लिए स्विच करें।
देखें: /unix/43508/debian-hibernate-problem-pm-swap-header-not-found
mkswap
फ़ाइल को प्रारूपित करने के लिए उपयोग किया जाता है, यहाँ पर अधिक पढ़ें
मुसीबत! हाइबरनेशन की अनुमति नहीं है!
परीक्षण: pm-hibernate
(यदि pm- बर्तनों का पैकेज स्थापित है) या systemctl hibernate
आपको बताएं कि आपको अनुमति नहीं है। IIRC 12.04 के बाद से उबंटू में डिफ़ॉल्ट सेटिंग।
समाधान (s): आपके Polkit संस्करण, आपके Ubuntu संस्करण और स्वाद पर निर्भर करता है ... यह प्रश्न देखें । इसके अलावा, Polkit पर ArchWiki मदद कर सकता है।
मिंट के लिए, देखें: https://forums.linuxmint.com/viewtopic.php?t=259912
मुसीबत! BIOS में कुछ द्वारा हाइबरनेशन अक्षम किया गया!
टेस्ट: cat /sys/power/disk
है disabled
। लॉग शो "लॉगइंड के माध्यम से हाइबरनेट सिस्टम में विफल: नींद की क्रिया समर्थित नहीं है"।
समाधान: अपने BIOS को खोजें और समस्याग्रस्त चीज़ ढूंढें। इसे बंद करें।
समाधान 2: एक और हाइबरनेट इंटरफ़ेस आज़माएँ।
देखें: 16.04.1 में हाइबरनेशन कैसे सक्रिय करें? (सिस्टमड) ।
इंटरफेस
- swsusp - निम्न स्तर कर्नेल इंटरफ़ेस। किस फाइल के लिए आवश्यक शर्तें - कर्नेल देखें। फाइलों को सीधे लिखने से सस्पेंड (रैम, डिस्क और हाइब्रिड के लिए) हो सकता है। फ़ाइल के लिए हाइबरनेटिंग के साथ स्वैफ़ा क्यू समस्याग्रस्त के अनुसार।
- उपयोगी - ArchWiki और डेबियन विकी और अच्छा AskUbuntu प्रश्न के साथ एक लिखने के लिए यह कैसे उपयोग करने के लिए ।
- systemd - उस पर ArchWiki
- pm-utils - AFAIK यह स्क्रिप्ट का एक संग्रह है जो मूल रूप से डेबियन का है - मैं ख़ुशी से अधिक जानकारी का स्वागत करता हूँ।
अंतिम शब्द
मेरे लिए यह संकलन करने के लिए लगभग दो दिनों के काम की बात थी। उम्मीद है कि यह आपकी (और अन्य) आपकी समस्या को तेजी से हल करने में मदद करेगा। अभी भी ऐसे बिंदु हैं जो मुझे याद हैं लेकिन यह 2 बजे है और मुझे अब और लिखने का मन नहीं है। मैं निश्चित रूप से इसे बेहतर बनाने के लिए किसी के संकेत के लिए खुला हूं, इसलिए टिप्पणी करें। एक बार जब मैं सोऊंगा, काम करूंगा आदि का जवाब दूंगा :-)
मुझे लगता है कि डिस्क के लिए हाइबरनेटिंग कुछ खास नहीं है। मैं अंत में सोने के साथ चला गया। लेकिन मेरे लिए यह समस्या थी कि 32 जीबी की फाइल सिर्फ हाइबरनेशन करने में सक्षम थी, क्योंकि मैं आमतौर पर स्वैपिंग से बचता हूं। मेरी प्रारंभिक स्वैप-फ़ाइल 2GB पर थी और यह ज्यादातर खाली थी। YMMV। फिर भी, अच्छी किस्मत! और लॉग के साथ शुरू करो!