استخدام ملف كذاكرة مبادلة (SWAP)

نبذة عن الكاتب: مايكل لاماريت هيريديا منشور على موقع جوتل.

قبل وقت طويل، جنو / لينكس، يقتصر على استخدام قسم ذاكرة مبادلة واحد بحد أقصى 128 MB، وهو شيء انتقده بشدة منتقدو جوهر لينوس تورفالدس.

لحسن الحظ ، لا يوجد مثل هذا الحد في الوقت الحاضر ، ومن الممكن أيضًا استخدام أكبر قدر ممكن من ذاكرة المبادلة لتلبية احتياجات أي نظام.

في بعض الأحيان ، بعد تثبيت نظامنا ، نجد أنفسنا في حاجة إلى زيادة الذاكرة SWAP قمنا بتكوينه أثناء التثبيت ، وهو أمر يمكن القيام به بطريقة بسيطة عن طريق زيادة حجم القسم المختار لهذه الأغراض. لكن ... ماذا تفعل إذا كنت لا تريد لمس جدول الأقسام؟

ما هو SWAP وكيف يعمل؟

مساحة ذاكرة المبادلة أو مبادلة، هو ما يعرف بالذاكرة الافتراضية. الفرق بين الذاكرة الحقيقية والظاهرية هو أن الذاكرة الظاهرية تستخدم مساحة القرص الثابت بدلاً من وحدة الذاكرة.

عند استنفاد الذاكرة الحقيقية ، ينسخ النظام جزءًا من محتوياتها مباشرةً إلى مساحة ذاكرة التبديل هذه من أجل أداء مهام أخرى.

يتميز استخدام SWAP بميزة توفير الذاكرة الإضافية المطلوبة عند استنفاد الذاكرة الحقيقية وضرورة تنفيذ العملية. الجانب السلبي هو أنه نتيجة لاستخدام مساحة على القرص الصلب ، يكون استخدام القرص الصلب أبطأ.

استخدم ملفًا كذاكرة مبادلة.

لا تتطلب هذه الطريقة إجراء تغييرات على جدول أقسام القرص الثابت. مثالية للمستخدمين عديمي الخبرة ، لأولئك الذين يرغبون في تجنب المخاطرة عند تغيير جدول تقسيم محرك الأقراص الثابتة ، أو لأولئك الذين يحتاجون إلى أكثر من ذاكرة تبديل عرضية ، أو على أساس ظرفية.

بالنظر إلى إمكانية وضع ملف المبادلة في أي دليل على القرص الثابت ، يتم تنفيذ الأمر dd، مع تحديد أنه سيتم كتابة الأصفار (إذا = / ديف / صفر) لإنشاء الملف / مبادلة (من = / مبادلة)، في كتل من 1024 بايت (بس = 1024) حتى يتم إكمال كمية معينة بالبايت (العدد = [الكمية مضروبة في قيمة bs]). يقوم المثال التالي بما ورد أعلاه حتى اكتمال 524288000 بايت (مقسومة على 1024 تساوي 512 ميجابايت):

لإنشاء الملف الذي سنستخدمه SWAP ، سنفتح وحدة تحكم ونكتب ما يلي (كجذر):

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

قد تستغرق الخطوة أعلاه بضع ثوانٍ ، يرجى التحلي بالصبر. بعد ذلك ، لتنسيق الملف الذي تم إنشاؤه كذاكرة مبادلة ، سنقوم بتنفيذ الأمر com.mkswap، على النحو التالي (دائمًا كجذر):

mkswap /swap

ستتم إعادة إخراج في وحدة التحكم مشابه لما يلي:

إعداد swapspace الإصدار 1 ، الحجم = 511996 KiB no label ، UUID = fed2aba5-77c6-4780-9a78-4ae5e19c506b

لتنشيط القسم ، واستخدامه على الفور بواسطة نظام التشغيل ، قم بتنفيذ الأمر سوابون. في حالتنا سنقوم بتنشيط ملف / swap الذي أنشأناه ونسقه في الخطوات السابقة كقسم للذاكرة المبادلة:

swapon /swap

للتحقق من استخدام نظام التشغيل لملف المبادلة الجديد ، سنقوم بتنفيذ الأمر مرة أخرى مجاني وسنرى أنه تمت إضافة سعة الملف الجديد إلى ذاكرة SWAP الأولية.

لكي يتم استخدام هذا الملف كذاكرة مبادلة تلقائيًا في تمهيد النظام التالي ، سنقوم بالتحرير  / الخ / fstab (باستخدام nano أو gedit أو kate أو kwrite أو vim أو محرر النص العادي الذي تختاره) ، مع إضافة السطر المقابل ، كما يلي ، حيث يتم وضع مسار ملف المبادلة الذي تم إنشاؤه بدلاً من الجهاز:

نفتح الملف

nano /etc/fstab

ونضيف:

/swap         swap      swap     defaults               0 0

جاهز!!!!

يمكننا إعادة تشغيل النظام واختبار زيادة ذاكرة المبادلة باستخدام الملف الجديد مبادلة، مقايضة. ما قمنا به ببساطة هو إنشاء ملف في جذر النظام ، قم بتنسيقه SWAP وأخبرنا جنو / لينكس لاستخدامها كذاكرة مبادلة ، جنبًا إلى جنب مع القسم الذي كان لدينا بالفعل لهذا الغرض.

شيء بسيط ولكنه قد يكون مفيدًا للكثيرين منا ... دون مزيد من اللغط ...


اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

  1. المسؤول عن البيانات: ميغيل أنخيل جاتون
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.

  1.   خورت قال

    المذكرة رائعة. الآن فقط يجعلني أفكر في شيء واحد ، هل يمكنني بالمثل استخدام USB كدعم للذاكرة ؟؟؟ إذا كان لديك جهاز كمبيوتر قديم إلى حد ما وكان الحصول على الذكريات أمرًا معقدًا أو مكلفًا للغاية (يبدو أن الأجزاء الأقدم في أجهزة الكمبيوتر أغلى ثمناً) ، سيكون من الجيد أن تكون قادرًا على توسيع الذاكرة فقط باستخدام USB

    1.    أوروش قال

      نعم ، إنه جيد جدًا ، وهذا ما يفعله zramswap الذي قمت بتثبيته (لا أحب تقسيم السلطة ، ولا أفصل أي شيء).
      إذا كنت تريد استخدام USB كمبادلة ، فما عليك سوى تهيئة قسم لهذا الغرض ، وإضافته إلى fstab ، وتغيير / تبديل إلى / dev / sdb1 (بافتراض أن مسار USB الخاص بك هو sdb1).

      1.    الحصار 84 قال

        سوف تكون سعيدا مع btrfs ومجلداتها الفرعية

      2.    خورت قال

        حسنًا ، إذا فهمت بشكل صحيح كيفية إجراء تبديل USB ، لكنني كنت أفكر أكثر في شيء مثل ذاكرة الوصول العشوائي الإضافية ، لأن USB سيكون ذاكرة فعلية ، ولا أرغب في الانتظار حتى يتجاوز 60 ٪ من الذاكرة لبدء لاستخدام USB.

        حسنًا ، وبعد رؤية تعليقnonamed ، فإن سبب مثل هذه الحلول (وكمساهمة فقط وليس كبداية لحرب فريق ومع كل الاحترام الواجب) في وقت توجد فيه بالفعل فرق ذات أداء أفضل ويبدو ذلك غير ضروري ؛ يمكنني التفكير في 3 نقاط:

        الأول. والأكثر وضوحا ، استخدامه في المعدات القديمة
        الثاني. لا أفكر أيضًا في أجهزة الكمبيوتر المحمولة الجديدة التي تبلغ سعتها 2 غيغابايت أو 1 غيغابايت ، "ناقص" الذاكرة المخصصة لبطاقة الفيديو
        الثالث. حسنًا ، هذا واضح ، أليس كذلك؟ لأنها ممتعة ولأنها يمكن القيام بها ... ههههه! وجه ضاحك

        تحيات

        1.    k1000 قال

          أو إذا نسيت إنشاء SWAP ولا تريد العبث بجدول الأقسام

        2.    كاتيكيو قال

          هل قررت استخدام محرك أقراص USB كذاكرة وصول عشوائي (RAM)؟ لا يمكن القيام بذلك لأن معدل القراءة والكتابة في ذاكرة الوصول العشوائي أسرع بكثير مما يمكن أن يدعمه USB وأيضًا سيتم تدمير USB بعد وقت قصير من الاستخدام. استخدم محرك أقراص USB كبديل إضافي

    2.    نسر قال

      نعم ، يمكنك إنشاء قسم مبادلة على USB وتثبيته باستخدام sudo swapon / dev / sdX ويمكنك إضافة -s 60 إليه بحيث يكون له الأولوية على أقسام التبديل الأخرى. يمكنك أيضًا إضافته إلى fstab ليتم تثبيته تلقائيًا ، أو إنشاء ملف المبادلة كما هو موضح في هذا الدليل الرائع على USB

  2.   سلايركورن قال

    دليل ممتاز ، وأنا أتدرب في نفس الوقت ، لأنه عندما ينفد المرء من المبادلة ، على الرغم من صعوبة ذلك. الآن أقوم بتكرار نفس الشيء ولكن في ذاكرة USB بحيث يكون نقل البيانات من الذاكرة الفعلية إلى ذاكرة التبادل أسرع قليلاً.

  3.   الينديلنارسيل قال

    شكرا على المعلومة. لكنه يولد سؤالًا ، ربما شيئًا سخيفًا: بمجرد إنشاء ملف المبادلة هذا ، لا يمكن حذف قسم المبادلة ؟؟؟

  4.   بدون اسم قال

    أحيانًا أتساءل عما إذا كان الأمر يستحق حقًا التبديل ، فأنا دائمًا ما يكون عند 0 ٪ ، وربما يتعلق الأمر بالذاكرة ، ولدي ذاكرة وصول عشوائي تبلغ 4 جيجابايت ، وأعتقد أنه كلما زادت الذاكرة ، أصبح استخدام المبادلة أقل منطقية

    1.    دانيال روجاس قال

      نعم ، هذا يعتمد على الذاكرة الموجودة في الجهاز. لدي أيضًا دائمًا بنسبة 0 ٪ ، ولديّ 4 جيجابايت من ذاكرة الوصول العشوائي ، فأنا أعطي فقط 512 ميجابايت لقسم المبادلة

      1.    بيسيرو قال

        في التثبيت الأخير قمت بإزالة المبادلة. ومع ذلك ، مع وجود 24 جيجابايت من ذاكرة الوصول العشوائي ، رأيت استخدامات مبادلة صغيرة (بضعة كيلوبايت) في بعض الأحيان حتى مع عدم استخدام الكثير من ذاكرة الوصول العشوائي. لماذا ا؟ ليس لدي أي فكرة

  5.   الحصار 84 قال

    اضطررت إلى القيام بذلك في Sabayon ، لم أتمكن من العثور على سبب تناول كل ذاكرة الوصول العشوائي والمبادلة.

  6.   السيد لينكس قال

    سأقولها دائمًا ، DesdeLinix هي المدونة الأولى ، بفضل هذه المقالات الشيقة. بالمناسبة ، وجدت المفتاح الذي ألقاه يويو من السجن حيث يوجد إيلاف ، أعتقد أنني سأحتفظ به.

    تحيات إيلاف.

  7.   ميرلين دبيانيت قال

    شكرا مفيد جدا للمساهمة.

  8.   لائق قال

    إنها أسهل
    lvm lvresize /dev/vg_laptpop/vl_swap -L +4G
    إذا كنت تستخدم LVM clear (على افتراض أنك تريد مبادلة 4gigas)

    1.    لائق قال

      ومع ذلك ، فإن هذه المساهمة هي p٪ $ أم ، ولم أعرفها من قبل ، كم عدد التنسيقات التي كنت سأحفظها xDDDD

  9.   invisible15 قال

    لدي قسمان للتبديل (واحد على كل محرك أقراص ثابت) ومع 1 جيجابايت من ذاكرة الوصول العشوائي ، أستخدم ما لا يقل عن 200 ميجابايت و 500 ميجابايت من المبادلة ...

  10.   كاله قال

    إذا كان لديك العديد من محركات أقراص USB القديمة ، فيمكنك تبديل شريط raid 0 من أجهزة N USB ، وبالتالي تسريع أداء المبادلة بما يتناسب مع أجهزة USB المثقوبة وكلما كان ذلك ممكنًا على محور جذر مختلف - أعتقد ! -. عليك فقط أن تعلم نفسك بالدعم المحلي للغارة بواسطة لينكس سوفت.
    رابط لمزيد من المعلومات:
    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 بنفس الحجم ، فيمكنك إنشاء أقسام بحجم أصغر ارتفاع ويمكن استخدام الثقوب المتبقية من usbs الأكبر لأشياء أخرى أو لمزيد من المقايضات على مستوى الملف أو القسم ... وهو ليس كذلك هل من الممكن القيام بمداهمة بعدة ملفات متبادلة بالطريقة التي تصفها ؟؟؟ ...

  11.   كارلوس قال

    برنامج تعليمي ممتاز ، لقد تم حثي على زيادة المبادلة التي أتيحت لي. (و)

  12.   خورخي قال

    هذا يبدو جيدا. سأحاول مع ذاكرة USB.

  13.   ذا جيلوكس قال

    ممتاز ... هل يعمل على هاتف android خلوي؟ لدي بالفعل نواة مخصصة ، لكني لا أريد تقسيم sd. أعتقد أن هذا يجب أن يعمل

  14.   ديلوجاس قال

    مقال جيد جدا.

    مفهوم آخر مثير للاهتمام حول مبادلة لينكس هو المبادلة:

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

  15.   ديفيد كولمان قال

    مرحبًا ، اسمي ديفيد كولمان ، أبلغ من العمر 32 عامًا ، من ولاية أوهايو ، أدرس برمجة الكمبيوتر وعلوم الكمبيوتر للحصول على درجة الزمالة في كليهما في غضون 4 سنوات!،
    سؤالي مع التطبيق (SWAP / no-root) APK بسيط بعد ملف swap / swp الذي قمت بإنشائه لـ 2Gb 999Mb's × 2 بشكل أساسي ، كيف يتم تخزينه بالضبط في جهاز Android؟ أنا أستخدم ذاكرة 3Gb RAM 32GB memeroy +32 gb SanDisk SD أيضًا التمهيد Stylo 5 من خلال تعزيز الجهاز المحمول Unrooted مع برنامج bootloader مفتوح بالإضافة إلى بطاقة sim غير مقفلة!. أي نصيحة هي محل تقدير جيد شكرا مرحب به
    أورس سنسرلي ، ديفيد كولمان 32 من ولاية أوهايو بالولايات المتحدة الأمريكية ..؟