स्वैप मेमोरी के रूप में फ़ाइल का उपयोग करना (SWAP)

लेखक: माईकेल लामलरेट हेरेडिया की साइट पर पोस्ट किया गया गुटली.

बहुत पहले, ग्नू / लिनक्स, अधिकतम की एकल स्वैप स्मृति विभाजन का उपयोग करने के लिए सीमित था 128 एमबी, लीनस टोरवाल्ड्स के कोर के दोषियों द्वारा बहुत आलोचना की गई।

सौभाग्य से, आजकल ऐसी कोई सीमा नहीं है, और किसी भी प्रणाली की आवश्यकताओं को पूरा करने के लिए आवश्यक के रूप में अधिक स्वैप मेमोरी का उपयोग करना भी संभव है।

कभी-कभी, हमारे सिस्टम को स्थापित करने के बाद, हमें स्मृति बढ़ाने की आवश्यकता होती है स्वैप हमने स्थापना के दौरान कॉन्फ़िगर किया था, कुछ ऐसा जो इन उद्देश्यों के लिए चुने गए विभाजन के आकार को बढ़ाकर सरल तरीके से किया जा सकता है। लेकिन ... यदि आप विभाजन तालिका को स्पर्श नहीं करना चाहते हैं तो क्या करें?

SWAP क्या है और यह कैसे काम करता है?

स्वैप मेमोरी स्पेस या विनिमय, जिसे वर्चुअल मेमोरी के रूप में जाना जाता है। वास्तविक और आभासी मेमोरी के बीच अंतर यह है कि वर्चुअल मेमोरी एक मेमोरी मॉड्यूल के बजाय हार्ड डिस्क स्थान का उपयोग करता है।

जब वास्तविक मेमोरी खत्म हो जाती है, तो सिस्टम अपने कुछ सामग्रियों को सीधे इस स्वैप मेमोरी स्पेस में कॉपी करता है ताकि अन्य कार्यों को किया जा सके।

SWAP का उपयोग करने से अतिरिक्त मेमोरी प्रदान करने का लाभ होता है जब वास्तविक मेमोरी समाप्त हो जाती है और एक प्रक्रिया को निष्पादित करने की आवश्यकता होती है। नुकसान यह है कि हार्ड डिस्क पर स्थान का उपयोग करने के परिणामस्वरूप, हार्ड डिस्क का उपयोग धीमा है।

एक फ़ाइल का उपयोग स्वैप मेमोरी के रूप में करें।

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

यह देखते हुए कि स्वैप फ़ाइल को हार्ड डिस्क पर किसी भी निर्देशिका में रखा जा सकता है, कमांड निष्पादित किया जाता है dd, यह निर्दिष्ट करते हुए कि शून्य लिखा जाएगा (यदि = / देव / शून्य) फ़ाइल बनाने के लिए / स्वैप (= का / स्वैप), 1024 बाइट्स के ब्लॉक में (bs = 1024) बाइट्स में एक निश्चित मात्रा को पूरा करने तक (गिनती = [बीएस के मूल्य से गुणा मात्रा])। निम्नलिखित उदाहरण 524288000 बाइट्स पूरा होने तक ऊपर करता है (1024 बराबर 512MB से विभाजित)

उस फ़ाइल को बनाने के लिए जिसे हम SWAP के रूप में उपयोग करेंगे, हम एक कंसोल खोलेंगे और निम्नलिखित टाइप करेंगे (रूट के रूप में):

dd if=/dev/zero of=/swap bs=1024 count=512000

उपरोक्त चरण में कुछ सेकंड लग सकते हैं, कृपया धैर्य रखें। फिर, बनाई गई फ़ाइल को स्वैप मेमोरी के रूप में प्रारूपित करने के लिए, हम कमांड निष्पादित करेंगे mkswap, इस प्रकार है (हमेशा रूट के रूप में):

mkswap /swap

आपको निम्न के समान कंसोल में आउटपुट दिया जाएगा:

स्वेपस्पेस संस्करण 1 की स्थापना, आकार = 511996 KiB कोई लेबल नहीं, UUID = fed2aba5-77c6-4780-9a78-4ae5e19c506b

विभाजन को सक्रिय करने के लिए, और इसे ऑपरेटिंग सिस्टम द्वारा तुरंत उपयोग किया जाता है, कमांड निष्पादित करें जोड़ा जा चुका। हमारे मामले में हम स्वैप मेमोरी विभाजन / स्वैप फाइल को सक्रिय करेंगे जो हमने पिछले चरणों में SWAP और स्वरूपित की है:

swapon /swap

यह सत्यापित करने के लिए कि ऑपरेटिंग सिस्टम द्वारा नई स्वैप फ़ाइल का उपयोग किया जा रहा है, हम फिर से कमांड निष्पादित करेंगे मुक्त और हम देखेंगे कि नई फ़ाइल की क्षमता प्रारंभिक SWAP मेमोरी में जोड़ दी गई है।

इस फाइल को अगले सिस्टम बूट में स्वैप्ट मेमोरी के रूप में उपयोग करने के लिए, हम संपादित करेंगे  / Etc / fstab (नैनो, gedit, kate, kwrite, vim या अपनी पसंद का सादा पाठ संपादक का उपयोग करके), संबंधित पंक्ति को जोड़ते हुए, निम्नानुसार, जहां डिवाइस के बजाय, बनाई गई स्वैप फ़ाइल का पथ डाला जाता है:

हम फ़ाइल खोलते हैं

nano /etc/fstab

और हम जोड़ते हैं:

/swap         swap      swap     defaults               0 0

तैयार!!!!

हम सिस्टम को रिबूट कर सकते हैं और परीक्षण कर सकते हैं कि नई फ़ाइल के उपयोग के साथ हमारी स्वैप मेमोरी बढ़ गई है SWAP। बस हमने जो कुछ किया है, वह सिस्टम के रूट में एक फाइल बनाता है, इसे फॉर्मेट करें स्वैप और हमारे बताओ ग्नू / लिनक्स एक स्वैप मेमोरी के रूप में उपयोग करने के लिए, उस विभाजन के साथ जो हम पहले से ही इस उद्देश्य के लिए किस्मत में थे।

कुछ सरल है लेकिन हम में से कई के लिए कुछ का उपयोग किया जा सकता है ... आगे की हलचल के बिना ...


25 टिप्पणियाँ, तुम्हारा छोड़ दो

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

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

*

*

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

  1.   खोतो कहा

    नोट बहुत अच्छा है। केवल अब यह मुझे एक बात सोचने देता है, क्या मैं इसी तरह एक USB को मेमोरी स्टिक के रूप में उपयोग कर सकता हूं ??? यदि आपके पास कुछ पुराने उपकरण हैं और यादें प्राप्त करना जटिल या बहुत महंगा है (ऐसा लगता है कि कंप्यूटर में पुराने हिस्से जितने महंगे हैं), तो केवल USB के साथ मेमोरी का विस्तार करने में सक्षम होना अच्छा होगा

    1.    ऑरोज़्ज़क्स कहा

      हां, यह बहुत अच्छा है, कमोबेश यही है कि मैंने जो zamswap स्थापित किया है, (मुझे विभाजन सलाद पसंद नहीं है, मैं कुछ भी अलग नहीं करता हूं)।
      यदि आप usb को स्वैप के रूप में उपयोग करना चाहते हैं, तो आप बस उस उद्देश्य के लिए एक विभाजन को प्रारूपित करते हैं, और इसे fstab में जोड़ते हैं, बदल / swap to / dev / sdb1 (अपने usb के पथ को मानते हुए sdb1 है)।

      1.    घेराबंदी२०९९ कहा

        आप btrfs और उसके सबवूम्स से खुश होंगे

      2.    खोतो कहा

        ठीक है, अगर मुझे सही ढंग से समझ में आया कि यूएसबी स्वैप कैसे करना है, लेकिन मैंने अतिरिक्त रैम की तरह कुछ के बारे में सोचा, क्योंकि यूएसबी भौतिक मेमोरी होगी, और मैं इसके लिए 60% से अधिक मेमोरी का इंतजार नहीं करना चाहूंगा USB का उपयोग करना शुरू करें।

        खैर और @nonamed की टिप्पणी को देखते हुए, इस तरह के समाधानों का कारण (और केवल एक योगदान के रूप में और एक टीम युद्ध की शुरुआत के रूप में नहीं और सभी उचित सम्मान के साथ) ऐसे समय में जहां पहले से ही बेहतर प्रदर्शन वाली टीमें हैं और ऐसा लगता है अनावश्यक; मैं 3 बिंदुओं के बारे में सोच सकता हूं:

        पहली बार। और सबसे स्पष्ट, पुराने उपकरणों में इसका उपयोग करने के लिए
        2 रा। मैं भी ऐसा नहीं सोच रहा कि नए लैपटॉप में 1gb या 2gb क्षमता हो, वीडियो कार्ड के लिए "MINUS" मेमोरी।
        ३। खैर, यह स्पष्ट है, है ना? क्योंकि यह दिलचस्प है और क्योंकि यह किया जा सकता है ... हेहे! एक्सडी

        एक ग्रीटिंग

        1.    k1000 कहा

          या यदि आप SWAP बनाना भूल जाते हैं और आप विभाजन तालिका के साथ गड़बड़ नहीं करना चाहते हैं

        2.    जब Katekyo कहा

          क्या आप RAM के रूप में USB ड्राइव का उपयोग करने का निर्णय लेते हैं? ऐसा इसलिए नहीं किया जा सकता क्योंकि USB की सहायता से RAM की रीड-राइट दर बहुत तेज़ होती है और साथ ही USB का उपयोग करने के थोड़े समय के बाद USB नष्ट हो जाएगा और यह होगा अतिरिक्त SWAP के रूप में USB ड्राइव का अच्छा उपयोग करें

    2.    अल्टेयर कहा

      हां, आप एक USB पर एक स्वैप विभाजन बनाते हैं और इसे sudo swapon / dev / sdX के साथ माउंट करते हैं और आप इसमें 60 जोड़ सकते हैं ताकि अन्य स्वैप विभाजन पर प्राथमिकता हो। आप इसे fstab में भी जोड़ सकते हैं ताकि यह स्वचालित रूप से माउंट हो जाए, या स्वैप फाइल बनाएं जैसा कि इस महान गाइड में usb पर कहते हैं to

  2.   स्लेयरकोर्न कहा

    उत्कृष्ट गाइड, और अभ्यास उसी समय, जब कोई स्वैप से बाहर निकलता है, हालांकि मुश्किल होता है। अब मैं उसी चीज की नकल कर रहा हूं लेकिन भौतिक मेमोरी से डेटा को ट्रांसफर करने के लिए यूएसबी मेमोरी में थोड़ी तेजी से स्वैप करने के लिए।

  3.   एलेंडिलनारसिल कहा

    जानकारी के लिए धन्यवाद। लेकिन यह एक सवाल पैदा करता है, शायद कुछ मूर्खतापूर्ण: एक बार यह स्वैप फ़ाइल बनाई जाती है, तो क्या स्वैप विभाजन को हटाया नहीं जा सकता है ???

  4.   बिना नाम वाला कहा

    कभी-कभी मुझे आश्चर्य होता है कि क्या यह वास्तव में स्वैप करने के लायक है, मेरे पास हमेशा 0% पर है, शायद यह स्मृति के साथ करना है, मेरे पास 4Gb है RAM, मुझे लगता है कि अधिक स्मृति यह स्वैप का उपयोग करने के लिए कम समझ में आता है

    1.    डैनियल रोजास कहा

      हां, यह मशीन में मौजूद मेमोरी पर निर्भर करता है। मेरे पास हमेशा 0% पर भी होता है, और 4Gb का RAM होने पर मैं केवल स्वैप को 512mb देता हूं

      1.    पिसारो कहा

        अंतिम स्थापना में मैंने स्वैप हटा दिया है। फिर भी, 24GB RAM के साथ, मैंने कभी-कभी छोटे स्वैप उपयोगों (कुछ KB) को देखा है, जबकि बहुत से RAM अप्रयुक्त हैं। क्यों? मुझे पता नहीं है

  5.   घेराबंदी२०९९ कहा

    मुझे यह सबैयोन में करना था, मुझे इसका कारण नहीं मिला कि यह सभी रैम और स्वैप को क्यों खा गया।

  6.   श्री लिनक्स कहा

    मैं हमेशा यह कहूंगा, FromLinix इन दिलचस्प लेखों की बदौलत नंबर एक ब्लॉग है। वैसे, मैंने पाया कि योयो ने जेल से फेंक दिया, जहां वे इलाव हैं, मुझे लगता है कि मैं इसे रखूंगा।

    अभिवादन Elav।

  7.   मर्लिन डेबियनिट कहा

    योगदान के लिए बहुत उपयोगी धन्यवाद।

  8.   उचित कहा

    यह आसान है
    lvm lvresize /dev/vg_laptpop/vl_swap -L +4G
    यदि आप LVM स्पष्ट का उपयोग कर रहे हैं (मान लें कि आप 4gigas स्वैप करना चाहते हैं)

    1.    उचित कहा

      हालाँकि, यह योगदान माँ के लिए $% है, इसे पहले नहीं जाना है, मैंने कितने प्रारूप में xDDDD को बचाया होगा

  9.   invisible15 कहा

    मेरे पास दो स्वैप विभाजन हैं (प्रत्येक हार्ड ड्राइव पर एक) और 1GB RAM के साथ, मैं कम से कम 200mb और 500mb स्वैप के बीच का उपयोग करता हूं ...

  10.   कलह कहा

    यदि आपके पास कई पुराने USB पेन-ड्राइव हैं, तो आप N USB डिवाइसों के 0 स्ट्रिप पर स्वैप कर सकते हैं, जिससे पंचर किए गए USB डिवाइसों के अनुपात में स्वैप प्रदर्शन में तेजी आएगी और जब भी संभव हो, प्रत्येक एक अलग रूट हब -I पर विचार करें! - । आपको बस अपने आप को लाइनक्स सॉफ्ट द्वारा छापे के मूल समर्थन के बारे में सूचित करना होगा।
    अधिक जानकारी के लिए एक लिंक:
    http://www.kriptopolis.com/raid-1
    या अधिक सामान्य खोज
    https://www.google.es/search?q=raid+por+soft+en+linux&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a&channel=fflb

    1.    कलह कहा

      मैं यह कहना भूल गया कि छापे विभाजन के स्तर पर किए जा सकते हैं। इसलिए अगर usb spikes का आकार समान नहीं है, तो आप विभाजन को सबसे छोटे स्पाइक के आकार का बना सकते हैं और बड़े usbs के शेष छिद्रों का उपयोग अन्य चीजों के लिए या फ़ाइल या विभाजन स्तर पर अधिक स्वैप के लिए किया जा सकता है ... जो है क्या आपके द्वारा वर्णित विधि के साथ कई इंटरचेंज फ़ाइलों के साथ छापा मारना संभव नहीं है ... ???

  11.   कार्लोस कहा

    उत्कृष्ट ट्यूटोरियल, मुझे उस स्वैप को बढ़ाने का आग्रह किया गया था जो मेरे पास उपलब्ध था। (तथा)

  12.   जॉर्ज कहा

    यह अच्छा लग रहा है। मैं एक USB मेमोरी के साथ कोशिश करूंगा।

  13.   गिलोक्स कहा

    उत्कृष्ट ... क्या यह एंड्रॉइड सेल फोन पर काम करता है? मेरे पास पहले से ही एक कस्टम कर्नेल है, लेकिन मैं एसडी विभाजन नहीं करना चाहता। मुझे लगता है कि यह काम करना होगा

  14.   डेलुगास कहा

    बहुत अच्छा लेख।

    लिनक्स स्वैप के बारे में एक और दिलचस्प अवधारणा है स्वैप्पनेस:

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

  15.   डेविड कोलमैन कहा

    नमस्ते मेरा नाम डेविड कोलमैन है, मैं ३२ साल का हूं, ओहियो से मैं कंप्यूटर प्रोग्रामिंग और कंप्यूटर विज्ञान का अध्ययन कर रहा हूं, ४ साल के भीतर दोनों में अपनी एसोसिएट्स की डिग्री प्राप्त करने के लिए!
    एप्लिकेशन के साथ मेरा प्रश्न (स्वैप/नो-रूट) एपीके 2 जीबी 999 एमबी के × 2 के लिए बनाई गई स्वैप/स्वैप फ़ाइल के बाद सरल है, अनिवार्य रूप से मेरे एंड्रॉइड में इसे वास्तव में कैसे संग्रहीत किया जाना है? मैं एक 3जीबी रैम 32जीबी मेमेरॉय +32जीबी सैनडिस्क एसडी भी बूट स्टाइलो 5 का उपयोग कर रहा हूं, बूटलोडर अनलॉक के साथ-साथ सिम अनलॉक के साथ मोबाइल अनरूटेड डिवाइस को बढ़ावा दें! किसी भी सलाह की सराहना की जाती है एक स्वागत योग्य thx
    उर्स सेन्सरली, डेविड कोलमैन 32 ओहियो यूएसए से ..?