"कर्नेल पैनिक" क्या है?


19

जब आपके कंप्यूटर में "कर्नेल पैनिक" होता है, तो इसका क्या मतलब है ?

क्या यह विंडोज़ BsoD के बराबर है ?

इसके अलावा, कर्नेल पैनिक स्ट्राइक होने पर उपयोगकर्ता के लिए कौन से तरीके, टिप्स, ट्रिक्स उपलब्ध हैं ?


3
कर्नेल घबराहट एक बीएसओडी से बेहतर है क्योंकि इसका नाम यह बताता है कि ऐसा होने पर उपयोगकर्ता को क्या करना चाहिए।
एम्फ़ैटेमाचिन

एक विंडोज़ नीला भी कुछ जानकारी देता है, ज्यादातर समय ऐसा नहीं होता है।
ott--

जवाबों:


16

कर्नेल घबराहट बीएसओडी के समान है और गैर-बचाव योग्य IIRC है। हालाँकि छोटी विफलता OOPS है जो कर्नेल में कुछ त्रुटि को दर्शाती है।

  1. आप kexec का उपयोग कर सकते हैं जो घबराहट पर नए कर्नेल पर स्विच करता है (आप इसे तेज़ रीबूट के रूप में धमकी दे सकते हैं) - संभवतः समस्या को डीबग करने के लिए सिस्टम का सार्थक डंप प्राप्त करना
  2. आप panicपैरामीटर का उपयोग कर सकते हैं जो n सेकंड के बाद कर्नेल को रीबूट करता है। आप GRUB को ऐसे मामले में फ़ॉलबैक कर्नेल पर स्विच करने का निर्देश दे सकते हैं
  3. स्टैक ट्रेस आदि को प्रिंट करने के लिए मैजिक SysRQ कुंजियों का उपयोग करें ।

6
अधिक सही बीएसओडी एक केपी है जो वास्तव में खराब त्रुटि संदेश स्क्रीन है।
xenoterracide

सबसे उल्लेखनीय जादू SysRq emergency syncबफ़र्स (जब यह अभी भी संभव है) को फ्लश करने के लिए था ।
ott--

6

लिनक्स कर्नेल घबराहट एक सबरूटीन कॉल है जिसे कर्नेल तब निष्पादित करता है जब कर्नेल तर्क निर्धारित करता है कि ऐसी स्थिति मौजूद है जो सामान्य तर्क के निष्पादन को असंभव या गैर-जिम्मेदार बना देती है।

जब कर्नेल घबराहट को बुला सकता है:

  1. यह कर्नेल कोड या स्टैक में एक सॉफ़्टवेयर त्रुटि का पता लगाता है
  2. जब कोई रन-टाइम स्थिति होती है जैसे कि आउट-ऑफ-मेमोरी जिसमें कोई किल करने योग्य प्रक्रिया नहीं होती है
  3. विशेषाधिकार मोड में निष्पादन के दौरान एक सीपीयू अपवाद एक ऊप्स स्थिति में परिणाम देता है

लगभग 950 अलग-अलग स्थितियां हैं जहां 3.X गुठली में एक आतंक कहा जाता है। पैनिक सबरूटीन पहले कर्नेल स्टैक डंप और सीपीयू रजिस्टरों को कंसोल में प्रिंट करता है। फिर, यदि कोई क्रैश kexec कर्नेल कॉन्फ़िगर किया गया है, तो यह kexec कर्नेल को बूट करता है। अन्यथा पैनिक रुटीन सभी स्पिनलॉक का भंडाफोड़ करता है और एक आपातकालीन पुनरारंभ करता है।

एक ऑप्स एक सबरूटीन है जो सीपीयू अपवाद हैंडलर से सीपीयू अपवाद के लिए कहा जाता है जो विशेषाधिकार प्राप्त (यानी कर्नेल) मोड में निष्पादित करते समय होता है। अपवाद कर्नेल कोड में त्रुटि के परिणामस्वरूप, या हार्डवेयर विफलता के कारण, या बाहरी स्थिति के परिणाम के रूप में हो सकता है जो एक विशिष्ट अपवाद का कारण बनता है। अपवाद के लिए हैंडलर CPU रजिस्टरों और मॉड्यूल सूची के साथ कर्नेल लॉग प्रिंट करता है। पैनिक कॉल के विपरीत, कर्नेल लॉजिक स्वयं सीपीयू अपवाद हैंडलर के संदर्भ के बाहर एक ऊप्स नहीं कहता है।

यदि कर्नेल को kexec के लिए कॉन्फ़िगर किया गया है, तो एक ऊप्स के परिणामस्वरूप kexec कर्नेल को बूट किया जाएगा। अन्यथा, यदि कोई बाधा हैंडलर निष्पादित करते समय अपवाद होता है, तो उफ परिणाम कर्नेल आतंक कॉल में होता है। अन्यथा, यदि कर्नेल को "ऑप्स पर घबराहट" से कॉन्फ़िगर किया गया है, तो ऑप्स का परिणाम पैनिक कॉल होगा। अन्यथा कर्नेल अपवाद हैंडलर से बाहर निकलता है और निष्पादन को फिर से शुरू करता है। जब कर्नेल अपवाद हैंडलर से बाहर निकलता है और निष्पादन को फिर से शुरू करता है, तो कर्नेल की अखंडता संदिग्ध होती है।

सीपीयू अपवाद हैंडलर वास्तुकला-विशिष्ट हैं। वे आमतौर पर मेहराब / * / कर्नेल / ट्रैप्स सी में लागू किए जाते हैं, और आर्किटेक्चर-विशिष्ट कर्नेल प्रविष्टि कोड में सेट होते हैं जो रुकावट तालिका सेट करते हैं। उदाहरण के लिए arch/powerpc/kernel/traps.cऔर देखें arch/powerpc/kernel/head_fsl_booke.S

कर्नेल घबराहट और उफ़ दोनों स्थितियों को एक kmsg_dumpरूटीन कॉल करने के लिए कॉन्फ़िगर किया जा सकता है जिसे आप क्रैश डिबगिंग जानकारी को रैम में सहेजने के लिए या मेमोरी को फ्लैश करने के लिए उपयोग कर सकते हैं जब तक कि ओप्स रुकावट के संदर्भ में न हो, जिस स्थिति में "kmsg_dump" रूटीन का केवल उपयोग किया जा सकता है RAM को सहेजें, MTD को नहीं। RAM को सहेजते समय, यह आपकी जिम्मेदारी है कि) यह सुनिश्चित करें कि उपयोग किया गया RAM क्षेत्र kexec बूट या आपातकालीन पुनरारंभ बूट के दौरान अधिलेखित नहीं है, और b) मेमोरी क्षेत्र को kexec कर्नेल से या बूट लोडर तर्क से कटाई करने के लिए।


5

यह अप्रत्याशित कार्यक्रम प्रवाह व्यवहार है (कर्नेल इस मामले में एक कार्यक्रम है)। घबराहट के मामले में काम करना बंद कर देता है। यह विंडोज़ BsoD के बराबर है। केपी का मतलब है कि कर्नेल या मॉड्यूल में कुछ गड़बड़ है। यदि यह स्थिर कर्नेल है - ड्राइवरों को देखें। अगर कुछ खास नहीं है और सभी ड्राइवर सामान्य हैं तो यह हार्डवेयर की समस्या हो सकती है।


या कर्नेल पिकनिक पर जाता है ..
14

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