6.6. क्रैश डंप तंत्र का परीक्षण
क्रैश डंप तंत्र का परीक्षण करने से कारण होगा एक सिस्टम रिबूट. कुछ स्थितियों में, यदि सिस्टम भारी लोड में है तो इससे डेटा हानि हो सकती है। यदि आप तंत्र का परीक्षण करना चाहते हैं, तो सुनिश्चित करें कि सिस्टम निष्क्रिय है या बहुत हल्के लोड पर है।
सत्यापित करें कि SysRQ के मूल्य को देखकर तंत्र को सक्षम किया जाता है / proc / sys / कर्नेल / sysrq कर्नेल पैरामीटर:
cat / proc / sys / कर्नेल / sysrq
यदि कोई मान 0 डंप लौटा दिया जाता है और फिर रीबूट सुविधा अक्षम कर दी जाती है। से अधिक मूल्य 1 इंगित करता है कि sysrq सुविधाओं का एक उप-सेट सक्षम है। देखना /etc/sysctl.d/10-magic-sysrq.conf विकल्पों और डिफ़ॉल्ट मान के विस्तृत विवरण के लिए। डंप सक्षम करें और फिर निम्न आदेश के साथ परीक्षण रीबूट करें:
sudo sysctl -w कर्नेल.sysrq=1
एक बार यह पूरा हो जाने के बाद, आपको बस उपयोग करते हुए जड़ बन जाना चाहिए sudo पर्याप्त नहीं होगा. के रूप में जड़ उपयोगकर्ता, आपको आदेश जारी करना होगा इको सी > /proc/sysrq-trigger. यदि आप नेटवर्क कनेक्शन का उपयोग कर रहे हैं, तो आप सिस्टम से संपर्क खो देंगे। यही कारण है कि सिस्टम कंसोल से कनेक्ट रहते हुए परीक्षण करना बेहतर है।
इससे कर्नेल डंप प्रक्रिया को दृश्यमान बनाने का लाभ होता है। एक सामान्य परीक्षण आउटपुट निम्नलिखित जैसा दिखना चाहिए:
सुडो-एस
[सुडो] उबंटू के लिए पासवर्ड:
# इको सी > /proc/sysrq-trigger
[ | 31.659002] | SysRq : दुर्घटना को ट्रिगर करें |
[ | 31.659749] | बग: कर्नेल शून्य पॉइंटर डेरेफ़रेंस को संभालने में असमर्थ |
[ | 31.662668] | IP: [<ffffffff8139f166>] sysrq_handle_crash+0x16/0x20 |
[ | 31.662668] | पीजीडी 3बीएफबी9067 पीयूडी 368ए7067 पीएमडी 0 |
[ | 31.662668] | उफ़: 0002 [#1] एसएमपी |
[ | 31.662668] | CPU 1 |
[ | 31.659002] | SysRq : दुर्घटना को ट्रिगर करें |
[ | 31.659749] | बग: कर्नेल शून्य पॉइंटर डेरेफ़रेंस को संभालने में असमर्थ |
[ | 31.662668] | IP: [<ffffffff8139f166>] sysrq_handle_crash+0x16/0x20 |
[ | 31.662668] | पीजीडी 3बीएफबी9067 पीयूडी 368ए7067 पीएमडी 0 |
[ | 31.662668] | उफ़: 0002 [#1] एसएमपी |
[ | 31.662668] | CPU 1 |
(शून्य)
....
शेष आउटपुट छोटा कर दिया गया है, लेकिन आपको सिस्टम को रीबूट होते हुए देखना चाहिए और लॉग में कहीं, आपको निम्न पंक्ति दिखाई देगी:
आरंभ: कर्नेल क्रैश से vmcore को सहेजना...
एक बार पूरा होने पर, सिस्टम अपने सामान्य परिचालन मोड में रीबूट हो जाएगा। फिर आपको कर्नेल क्रैश डंप फ़ाइल और संबंधित उपनिर्देशिकाएँ मिलेंगी /var/दुर्घटना निर्देशिका :
ls /var/दुर्घटना
201809240744 kexec_cmd linux-image-4.15.0-34-सामान्य-201809240744.crash
यदि OOM (आउट ऑफ मेमोरी) त्रुटि के कारण डंप काम नहीं करता है, तो संपादन द्वारा आरक्षित मेमोरी की मात्रा बढ़ाने का प्रयास करें /etc/default/grub.d/kdump-tools.cfg. उदाहरण के लिए, 512 मेगाबाइट आरक्षित करने के लिए:
GRUB_CMDLINE_LINUX_DEFAULT='$GRUB_CMDLINE_LINUX_DEFAULT क्रैशकर्नेल=384M-:512M'
रन सुडो अपडेट-ग्रब और फिर बाद में रीबूट करें, और फिर दोबारा परीक्षण करें।