स्वप्नदोष: वर्चुअल मेमोरी उपयोग को कैसे समायोजित करें

swappiness आभासी स्मृति

यहाँ में Ubunlog हम स्वयं को सभी उपयोगकर्ताओं के प्रति समर्पित करते हैं - या स्वयं को समर्पित करने का प्रयास करते हैं, और इसमें बहुत भिन्न हार्डवेयर कॉन्फ़िगरेशन शामिल हैं। और किसी तरह से हम यह सोचना पसंद करते हैं कि जो ट्यूटोरियल हम यहां दिखाते हैं, हम इस डिस्ट्रो में सामान्य उपयोगकर्ता अनुभव को बेहतर बनाने में किसी तरह से योगदान करते हैं जो हमें बहुत पसंद है (इसके किसी भी स्वाद में), यही कारण है कि हम अक्सर गाइड प्रकाशित करते हैं के लिए सबसे अच्छा प्रदर्शन प्राप्त करें संभव है, विशेष रूप से अधिक मामूली उपकरणों में।

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

इसलिए, स्वैप विभाजन का उपयोग उन स्थितियों तक सीमित होना चाहिए जिनमें कोई विकल्प नहीं है लेकिन इसका उपयोग करना है, जिस समय यह मुख्य मेमोरी (जो रैम है) का समर्थन करेगा। यदि इसके बजाय हम हर समय इसका उपयोग करते हैं, तो कभी-कभी रैम से पहले भी, हमारे प्रदर्शन को दंडित किया जाएगा। चलिए फिर देखते हैं लिनक्स में वर्चुअल मेमोरी उपयोग को स्वैपीनेस कमांड का उपयोग करके कैसे समायोजित करें.

हमारे ऑपरेटिंग सिस्टम में, वर्चुअल मेमोरी का निर्माण आमतौर पर इंस्टॉलेशन प्रक्रिया के दौरान किया जाता है, जिस समय हम रूट विभाजन (/), स्टोरेज पार्टीशन (/ होम) और एक्सचेंज पार्टीशन या को परिभाषित करते हैं स्वैप, जिसे आमतौर पर / dev / sda5 विभाजन पर लागू किया जाता है। वर्चुअल मेमोरी के उपयोग का प्रबंधन करने वाला कर्नेल पैरामीटर पहले उल्लिखित स्वपन है, और मूल रूप से हम यह कह सकते हैं कि यह परिभाषित करने के लिए है कि हम कितनी बार स्वैप विभाजन तक पहुँचते हैं और हम इसमें कितनी सामग्री कॉपी करते हैं, एक तर्क के बीच जो भिन्न होता है 0 और 100।

लिनक्स इंस्टॉलेशन में डिफ़ॉल्ट मान 60 है, लेकिन जैसा कि यह मानना ​​आसान है, सभी हार्डवेयर कॉन्फ़िगरेशन समान नहीं हैं और इसलिए यह उस स्तर को बनाए रखने के लिए समझ में नहीं आता है, जो कि हमारा है। इस मान को / proc / sys / vm / swappiness फ़ाइल में संग्रहीत किया जाता है, और हम इसे इसके द्वारा देख सकते हैं:

cat / proc / sys / vm / swappiness

यह लगभग निश्चित रूप से 60 पर होगा, और अगर ऐसा है तो हमें इसे संशोधित करना पड़ सकता है, विशेष रूप से यदि हमारे पास 4 जीबी से अधिक रैम मेमोरी है, तो उस स्थिति में हमें आमतौर पर बहुत कम या कोई वर्चुअल मेमोरी की आवश्यकता नहीं होती है। लेकिन इसे कैसे संशोधित किया जाए, यह समझाने से पहले, आइए आभासी स्मृति और स्वैग के बारे में इस पूरी बात के पीछे के तर्क के बारे में थोड़ा देखें; और यह है कि जब इसे 60 पर डिफ़ॉल्ट रूप से छोड़ दिया जाता है, तो कर्नेल को जो बताया जाता है, वह यह है कि वर्चुअल मेमोरी का उपयोग करें और उपयोग करें जब हमारी रैम की मुफ्त क्षमता 40 प्रतिशत या उससे कम हो। इस प्रकार, अगर हम स्वैच्छिकता को 100 के बराबर सेट करते हैं तो हर समय वर्चुअल मेमोरी का उपयोग किया जाएगा, और अगर हम इसे बहुत कम मूल्य पर छोड़ देते हैं, तो इसका उपयोग केवल तब किया जाएगा जब हमारी रैम बाहर चलने वाली हो। न्यूनतम संभव 1 है, क्योंकि 0 के बराबर मूल्य छोड़ने से हम वर्चुअल मेमोरी को पूरी तरह से निष्क्रिय कर देते हैं.

इसलिए हमें जो करना है वह टर्मिनल से निम्नलिखित कमांड दर्ज करें (Ctrl + Alt + T):

सुडो sysctl vm.swappiness = 10

अब का मूल्य स्वैग 10 पर रहेगा, और तब वर्चुअल मेमोरी का उपयोग शायद ही किया जाएगा। एक बार यह मान बदल दिया जाए कंप्यूटर को पुनरारंभ करने की कोई आवश्यकता नहीं है, लेकिन तुरंत प्रभावी होता है, और वास्तव में अगर हम मूल्य को रीसेट करते हैं तो यह पहले की तरह 60 पर स्थित होगा, क्योंकि हमें जिस चीज की आवश्यकता है, वह है स्थायी रूप से स्थापित इस परिवर्तन को छोड़ना। ऐसा करने के लिए, एक बार हमने अपने कंप्यूटर का उपयोग किया है और सत्यापित किया है कि स्वैग के नए मूल्य के साथ सब कुछ ठीक है, हम निष्पादित करते हैं:

सुडो नैनो /etc/sysctl.conf

जिसके बाद हम पाठ vm.swappiness = की तलाश करते हैं और "=" प्रतीक के बाद वांछित मान जोड़ते हैं। हम फ़ाइल को सहेजते हैं और अब, परिवर्तन स्थायी होगा।


अपनी टिप्पणी दर्ज करें

आपका ईमेल पता प्रकाशित नहीं किया जाएगा। आवश्यक फ़ील्ड के साथ चिह्नित कर रहे हैं *

*

*

  1. डेटा के लिए जिम्मेदार: मिगुएल elngel Gatón
  2. डेटा का उद्देश्य: नियंत्रण स्पैम, टिप्पणी प्रबंधन।
  3. वैधता: आपकी सहमति
  4. डेटा का संचार: डेटा को कानूनी बाध्यता को छोड़कर तीसरे पक्ष को संचार नहीं किया जाएगा।
  5. डेटा संग्रहण: ऑकेंटस नेटवर्क्स (EU) द्वारा होस्ट किया गया डेटाबेस
  6. अधिकार: किसी भी समय आप अपनी जानकारी को सीमित, पुनर्प्राप्त और हटा सकते हैं।

  1.   Cesflo कहा

    बहुत बढ़िया स्पष्टीकरण !!! बहुत अच्छा लेख !! मेरे मामले में जब मैं 60 के मूल मूल्य पर लौटने वाली नोटबुक को पुनः आरंभ करते समय यह परिवर्तन करता हूं, तो यह फ़ाइल को सहेजे जाने जैसा है, लेकिन इसे पुनरारंभ करने पर यह «स्वरूपित» है। मैंने पहले से ही सफलता के बिना सब कुछ करने की कोशिश की, क्या आपके पास कोई विचार है कि क्या हो सकता है? मेरे पास 1GB राम है।

    शुक्रिया!

    1.    विली क्लेव कहा

      हाय सिसर, मुझे खुशी है कि आपने इसे दिलचस्प पाया।

      यदि सिस्टम रिबूट होने पर मूल्य खो जाता है तो मैं /etc/rc.local और अन्य स्टार्टअप स्क्रिप्ट को देखूंगा (वे प्रत्येक distro के अनुसार अलग-अलग हैं) क्योंकि यह हो सकता है कि यह स्टार्टअप पर सेट है।

      नमस्ते!

  2.   पास्कल मार्टिन कहा

    बहुत अच्छी व्याख्या!

    पूरक के रूप में, यहाँ एक और दिलचस्प है स्वैप और लिनक्स में स्वपन के बारे में:

    http://www.sysadmit.com/2016/10/linux-swap-y-swappiness.html

  3.   दर्शक की हालत कहा

    तुम नहीं जानते कि यह मेरे लिए कितना अच्छा है, धन्यवाद

  4.   क्लैरिगो कहा

    सादर,

    मेरे /etc/sysctl.conf में पाठ vm.swappiness = नहीं है, मैंने इसे अच्छी तरह से देखा, फ़ाइल छोटी है। जब तक आपको इसे जोड़ना नहीं पड़ता, लेख मान को खोजने और संशोधित करने के लिए कहता है, न कि लाइन को जोड़ने के लिए।

  5.   लेविस कहा

    सादर,

    मेरे /etc/sysctl.conf में कोई vm.swappiness = पाठ नहीं है। जब तक आपको इसे जोड़ना नहीं पड़ता, लेख मान को खोजने और संशोधित करने के लिए कहता है, न कि लाइन को जोड़ने के लिए।

  6.   नोस्फेरैटस कहा

    आपको इसे बनाना होगा, फ़ाइल के अंत में आपने vm.swappiness = 10 डाला है और यह है।

    यदि यह पुनः आरंभ करने पर नहीं सहेजता है तो यह हो सकता है क्योंकि आप sudo कमांड का उपयोग नहीं करते हैं।

    उबंटू: सुडो गेडिट /etc/sysctl.conf
    जुबांतु: सुडो माउसपैड /etc/sysctl.conf

  7.   सेंटिआगो कहा

    बहुत बढ़िया लेख। धन्यवाद!

  8.   रॉबर्टो कहा

    आप शून्य लगा सकते हैं। क्या समस्याएं दिखाई दे सकती हैं?

  9.   जोस कैस्टिलो ओवलोस कहा

    नमस्कार और आपके लेख के लिए विली क्लीव को धन्यवाद देता हूं जो मुझे स्वप्न मेमोरी का उपयोग करने की प्रक्रिया को स्पष्ट करता है, लेकिन इससे मुझे बहुत संदेह हुआ क्योंकि टर्मिनल में प्रवेश करने और आपके द्वारा बताए गए आदेशों को निष्पादित करते समय, यह उस संदेश को वापस करता है जो कहता है:

    bash: cat / proc / sys / vm / swappiness: फ़ाइल या निर्देशिका मौजूद नहीं है

    इसका क्या कारण हो सकता है?

    1.    एंड्रेस चोके लोपेज कहा

      आपने बुरा लिखा। आपने "बिल्ली" के बाद स्थान नहीं डाला।

  10.   प्रतिष्ठित कहा

    महान, हम इसे स्पेनिश में ubuntu समूह में साझा करते हैं https://t.me/ubuntu_es

  11.   स्मिथ कहा

    बहुत बढ़िया इसने मेरे लिए डेबियन 10.9 . पर काम किया

  12.   जॉन कहा

    मैं एक कंप्यूटर वैज्ञानिक हूं, मैंने कई डिस्ट्रो को स्थापित और परीक्षण किया है, स्वैपनेस को कॉन्फ़िगर करने का सबसे अच्छा विकल्प टर्मिनल में लिखना है

    सुडो नैनो /etc/sysctl.conf

    एंटर दबाने के बाद की को लिखें और फिर से एंटर करें, फिर अंत में निम्नलिखित लाइन लिखें

    vm.swappiness = 0

    फिर एक ही समय में ctrl और x कुंजी दबाएं, वह एक प्रश्न उत्पन्न करता है कि यदि आप फ़ाइल में नया वाक्य सहेजना चाहते हैं तो हाँ और n कहने के लिए Y कुंजी दबाएं ताकि वह इसे सहेज न सके

    मैंने शून्य 0 क्यों लिखा? परीक्षण पहले से ही विभिन्न पीसी पर किए जा चुके हैं जिन्हें मैंने प्रोग्राम किया है क्योंकि यह सबसे अच्छा विकल्प है क्योंकि यह किसका पेजिनेशन का उपयोग करता है लेकिन उदाहरण के लिए यदि क्रोमियम खोला गया है या एक ब्राउज़र फेसबुक खोल रहा है क्योंकि एक्सचेंज मेमोरी (स्वैप या पेजिनेशन भी कहा जाता है) बढ़ेगा लेकिन जब यह बंद सत्र और ब्राउज़र या कोई प्रोग्राम है क्योंकि पेजिंग मेमोरी (स्वैप) हार्ड डिस्क को मुक्त करने में कमी आएगी जो इसे नुकसान पहुंचाने से बचने के लिए उपयोगी है, याद रखें कि स्वैप मेमोरी या जिसे पेजिंग (स्वैप) कहा जाता है, हार्ड डिस्क का उपयोग करता है।

  13.   नॉर्बर्टो गोंजालेज कहा

    माफ करें मैं समझा नहीं। यदि पैरामीटर को 60 पर सेट करते समय 40 या उससे कम लापता के साथ स्वैप को सक्रिय करने के लिए डिफ़ॉल्ट 10 है। क्या यह 90 मुक्त रैम के साथ सक्रिय नहीं होगा? डेटा एक्सचेंज को धीमा करके