एक निलंबित समस्या को कैसे डीबग करें?


11

मैं Fedora 14 को इस HP कॉम्पैक 610 में स्थापित करता था, और सस्पेंड फ़ीचर ठीक काम करता था। अब जबकि मैंने साइंटिफिक लिनक्स 6.1 सस्पेंड कर दिया है, अब और काम नहीं करता। मैं इसे कैसे डिबग / फिक्स करूं?


क्या यह शेल सस्पेंड है (<kbd> Cntl-z </ kbd>) या OS (स्लीप या हाइबरनेट)?
21

@Arcege: मुझे लगता है कि उनका मतलब एसीपीआई सस्पेंड है, क्योंकि यह इन दिनों ऐसी ही एक आम समस्या बन गई है।
जेएम बेकर १४'१२

जवाबों:


9

सस्पेंड और हाइबरनेट क्षमताओं को संभालने के कई तरीके हैं, कई पुराने तरीकों को हटा दिया गया है। इसने समाधानों को खोजना मुश्किल बना दिया है, क्योंकि ऐसा लगता है कि हर समाधान अगले के लिए पूरी तरह से असंबंधित है। उस के साथ कहा...

वर्तमान में अनुशंसित विधि, http://pm-utils.freedesktop.org/wiki/ से वकालत की गई है , जो कि हाल ही के वितरणों के लिए उपलब्ध होनी चाहिए। यदि आपने pm-utilsस्थापित किया है, तो मैं पहले जांच करूंगा , और यदि शामिल कमांड्स उम्मीद के मुताबिक काम कर रहे हैं।

देखें कि क्या पैकेज स्थापित है, इस कमांड को टर्मिनल में दर्ज करें

rpm -qa | grep pm-utils

यह आपके द्वारा इंस्टॉल किए गए संस्करण का उत्पादन करना चाहिए। यदि आपको अपेक्षित आउटपुट नहीं मिलता है, तो आपको पैकेज स्थापित करना होगा।

sudo yum install pm-utils

एक बार जब आप सत्यापित हो जाते हैं, तो निलंबित करने की अपनी क्षमता का परीक्षण करें।

sudo pm-suspend

यदि आप निलंबित नहीं करते हैं, और कोई आउटपुट नहीं मिलता है, तो अपने हाल के dmesg आउटपुट की जांच करें

dmesg | tail -50

इसे शुरू करने में आपकी मदद करनी चाहिए, एक बार जब आप कुछ सुराग प्राप्त करते हैं तो निशान को नीचे जाने के लिए बहुत आसान हो जाता है। अपने परिणामों के बारे में टिप्पणियों के साथ वापस पोस्ट करें, मैं आपको बाकी के माध्यम से प्राप्त कर सकता हूं।


मैंने शाम-बर्तन-डेवेल भी लगाए। रूट-यूजर के साथ पीएम-सस्पेंड सामान्य उपयोगकर्ता के साथ वैसा ही होता है जब वह GNOME / मेनू में क्लिक करता है-> सस्पेंड-> कुछ नहीं, मशीन सिर्फ "नेटवर्क बंद है" कहती है, फिर वह इंतजार करती है और इंतजार करती है, आदि .. मैं कर सकता हूं मैं निलंबित करने की कोशिश कर रहा हूँ के बाद कुछ भी शुरू नहीं है। मैं बाद में dmesg देखूंगा, धन्यवाद!
लांसबाइनेस

dmesgउत्पादन आपको बता देंगे क्या दृश्य के पीछे हो रहा है। इससे भी महत्वपूर्ण बात यह है कि विशेष रूप से क्या विफल हो सकता है। O और BTW, आपको डेवेलप पैकेज की आवश्यकता नहीं है। आपको केवल कोड संकलन करते समय उनकी आवश्यकता होती है, इसलिए शुद्ध करने के लिए स्वतंत्र महसूस करें। यहां से जाने के लिए कई दिशाएं हैं, मैं आपको गलत पेड़ को भौंकने के लिए नहीं भेज रहा हूं।
जेएम बेकर

1
@LanceBaynes क्या आपने pm-suspendशेल से कमांड चलाने की कोशिश की है और GNOME मेनू के माध्यम से नहीं? echo -n "mem" >/sys/power/stateजड़ के रूप में प्रयास करें । यदि आप उपयोग कर रहे हैं तो यह भी acpiदेख सकते acpi_listenहैं कि ढक्कन बंद करने पर कौन-सी घटनाएँ उत्पन्न हो रही हैं।

वाह, wtf? मैं रूट उपयोगकर्ता के साथ "इको-एन" मेम "> / sys / पावर / स्टेट" और मेरा वास्तव में निलंबित कर दिया गया है !!!! वाह। एकमात्र समस्या अब यह है कि जब मैं इस तरह का सस्पेंड कर रहा हूं, तब गनोम-स्क्रीनसेवर शुरू नहीं होता है, और मुझे एक अनलॉक पीसी छोड़ देता है। इसके आसपास कैसे पहुंचें? मैं एक स्क्रिप्ट / कुछ भी कैसे बना सकता हूं ताकि एक सामान्य उपयोगकर्ता इस तरह के निलंबन का भी उपयोग कर सके? सिर्फ रूट उपयोगकर्ता नहीं? - और एक बात और: धन्यवाद!
लांसबैन्स

2
@ लांसबैन्स: इसकी अब काम कर रही है? ... मैं इस तरह के "आश्चर्य" को तोड़ दिया करता था / मरम्मत केवल Widoze के साथ हुआ। दुर्भाग्य से, मैंने कुछ समय के लिए विश्वास करना बंद कर दिया है। लेकिन ... उज्ज्वल पक्ष पर, यह कम बार होता है! और आपका सस्पेंड काम कर रहा है, तो यह बहुत अच्छी खबर है!
जेएम बेकर

8

इसे रूट के रूप में आज़माएं:

PM_DEBUG=true pm-suspend

फिर /var/log/pm-suspend.logक्या गलत हो सकता है पर संकेत के लिए जाँच करें ।

यदि आप निलंबित कर सकते हैं, लेकिन फिर से शुरू नहीं करते हैं, तो इस समस्या को कैसे डीबग करें, इस पर उबंटू विकि पर एक अच्छा लेख है।


2

यदि आप केवल तभी प्राप्त करना चाहते हैं जब आपने सिस्टम को निलंबित / फिर से शुरू किया है, तो आप यह कोशिश कर सकते हैं:

cat /var/log/syslog | grep 'systemd-sleep' | grep "Suspending\|resumed";
Feb  7 10:44:23 dmatej-lenovo systemd-sleep[19900]: Suspending system...
Feb  7 10:44:33 dmatej-lenovo systemd-sleep[19900]: System resumed.
Feb  7 10:45:35 dmatej-lenovo systemd-sleep[20707]: Suspending system...
Feb  7 12:58:39 dmatej-lenovo systemd-sleep[20707]: System resumed.
Feb  7 14:42:55 dmatej-lenovo systemd-sleep[24690]: Suspending system...
Feb  7 16:31:57 dmatej-lenovo systemd-sleep[24690]: System resumed.

1

जैसा कि मीका ने सुझाव दिया है, जड़ के रूप में:

PM_DEBUG=true pm-suspend

भीतर विवरण:

/var/log/pm-suspend.log

इस मामले में आप कहां की तलाश कर रहे हैं

[...] service [servicename] suspend suspend success

समाप्त होता है, और

[...] service [servicename] suspend resume success

शुरू करना। कहीं न कहीं आपके बीच कॉलिंग रिटर्निंग एरर पाया जा सकता है, जिस बिंदु पर सस्पेंड प्रतिबंधित है। इस मामले में, आपके पास वापस लुढ़का जा रहा परिवर्तन निलंबित हो सकता है। पता लगाएँ कि किस सेवा कॉल में त्रुटि है, इसे vi में खोलें और इसे देखें।

मैं एक ही समस्या है, जहां स्थापित करने के बाद किया था xboxdrvएक Ubuntu 12.04 पर, एक फोन एक नियम में किया जा रहा में /etc/pm/sleep.d/, एक सेवा है जो शुरू कर दिया कभी नहीं किया गया था या न के बराबर, इस मामले में रोकने के लिए कोशिश कर रहा था xboxdrv। यह पता चला है कि यह पहली बार में शुरू नहीं किया जा सकता है, क्योंकि कोई /lib/modules/uinput.koमॉड्यूल नहीं था , क्योंकि उस मॉड्यूल को कर्नेल में मिला दिया गया है। /etc/pm/sleep.d/xboxdrvजब केस "कॉल के लिए सस्पेंड" से मेल खाता है, तो यह एक त्रुटि फेंकने के लिए केस स्टेटमेंट का कारण बना service xboxdrv stop#अनप्लग होने की कीमत पर बयान को दरकिनार करते हुए लाइन को रोकना , फिर अपने कंट्रोलर को सस्पेंड करना और फिर से शुरू करना।


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