पृष्ठ आवंटन विफलता - क्या मैं मेमोरी से बाहर चल रहा हूं?


24

हाल ही में, मैंने अपने किसी एक kern.logसर्वर की तरह प्रविष्टियों को देखा है:

Feb 16 00:24:05 aramis kernel: swapper: page allocation failure. order:0, mode:0x20

मैं जानना चाहता हूं:

  1. वास्तव में उस संदेश का क्या अर्थ है?
  2. क्या मेरा सर्वर मेमोरी से बाहर चल रहा है?

स्वैप का उपयोग काफी कम है (10% से कम), और अब तक मैंने किसी भी प्रक्रिया को स्मृति की कमी के कारण नहीं देखा है।

अतिरिक्त जानकारी:

  • सर्वर एक एक्सईएन उदाहरण (डोमू) है जो डेबियन 6.0 चल रहा है
  • इसमें 512 एमबी रैम और 512 एमबी स्वैप विभाजन है
  • वर्चुअल मशीन के अंदर सीपीयू लोड औसतन 0.25 दिखाता है

जवाबों:


14

डेबियन बग 666021 इसी मुद्दे की रिपोर्ट लगती है। सुझाव वहाँ है:

#change value for this boot
sysctl -w vm.min_free_kbytes=65536

#change value for subsequent boots
echo "vm.min_free_kbytes=65536" >> /etc/sysctl.conf

http://russ.garrett.co.uk/2009/01/01/linux-kernel-tuning/ इस सेटिंग में फेरबदल करते समय उपयोगी कुछ उपयोगी हो सकता है, की कुछ चर्चा है:

यह कर्नेल को हर समय 64MB RAM मुक्त रखने का प्रयास करने के लिए कहता है। यह दो मुख्य मामलों में उपयोगी है:

  • स्वैप-कम मशीनें, जहां आप आने वाले नेटवर्क ट्रैफ़िक को कर्नेल को अभिभूत नहीं करना चाहते हैं और किसी भी बफ़र्स को फ्लश करने से पहले ओओएम को बाध्य करना चाहते हैं।

  • x86 मशीनें, इसी कारण से: x86 आर्किटेक्चर केवल 900 एमबी रैम से नीचे डीएमए ट्रांसफर की अनुमति देता है। तो आप एक ओओएम त्रुटि के विचित्र स्थिति के साथ टन मुक्त रैम के साथ समाप्त कर सकते हैं।

मैंने अपनी 3.2.12-gentoo x86 मशीन पर यह सेटिंग लागू की, लेकिन मुझे अभी भी ये त्रुटियां हो रही हैं।


यह कुछ समान उपकरणों के साथ भी हो सकता है, उदाहरण के लिए MPT फ्यूजन SCSI नियंत्रक के साथ इसे 100 मेगाबाइट के आसपास vm.min_free_kbytes रखने की सिफारिश की गई है। या कम से कम इसका उपयोग तब किया गया था, जब मैंने पिछली बार 32-बिट लिनक्स डिस्ट्रो के साथ उन चीजों का उपयोग किया था। तब से हालात बदल गए होंगे।
१kar बजे जने पिक्कारनेन

महत्वपूर्ण चेतावनीecho 104857600 > /proc/sys/vm/min_free_kbytes KERNEL PANIC के लिए मेरी प्रणाली को फिर से तैयार किया गया है । काफी कुछ पाठ ने उस प्रक्रिया में स्क्रीन पर उड़ान भरी, जिसमें मुझे पढ़ने की कोई उम्मीद नहीं थी, लेकिन आखिरी संदेशों में मेरे वाई-फाई डोंगल का संबंध था, इसलिए यह टूटना मेरे सिस्टम के लिए विशिष्ट हो सकता है। कहा जा रहा है, सावधानी के साथ प्रहार।
०३६_

ओह, यह किलोबाइट में है । अगर मैं 104857600 या 10485760 करता हूं, तो मैं इसे ध्यान से याद नहीं कर सकता, लेकिन अगर मैंने पूर्व में किया था तो मैंने 100GB आरक्षित करने की कोशिश की थी, जिसे इस लैपटॉप ने स्थापित नहीं किया है;) मैं कुछ समय के लिए वीएम में इसके साथ जुड़ने की कोशिश करूंगा।
०३६_

1

मैंने अभी इस त्रुटि के माध्यम से लेनोवो एनएएस पर डेबियन 5 और कर्नेल 2.6.39.3 64 बिट चल रहा है।

Https://www.novell.com/support/kb/doc.php?id=24023 के अनुसार डरावने दिखने के बावजूद संदेश सूचनात्मक हैं

हालाँकि, वे मेरे बहुत सीमित रूट विभाजन को भर रहे थे (इस डिवाइस में 50 एमबीटी रूट विभाजन है!)

मेरे लिए फिक्स vm.min_free_kbytesको 65536नीचे से सेट करना था 16384

बाद में, ओएस में अभी भी 107 एमबीटीएस मुफ्त मेमोरी और बफ़र्स में 2 जीबी है। इसका कोई मतलब नहीं है, लेकिन इसने सभी लॉगिंग को रोक दिया।


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