المبادلة: كيفية ضبط استخدام الذاكرة الظاهرية

 

المبادلة الذاكرة الظاهرية

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

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

لهذا السبب ، يجب أن يقتصر استخدام قسم المبادلة على المواقف التي لا يوجد فيها بديل آخر سوى استخدامه ، وفي ذلك الوقت سيدعم الذاكرة الرئيسية (وهي ذاكرة الوصول العشوائي). إذا استخدمناها بدلاً من ذلك في جميع الأوقات ، أحيانًا حتى قبل ذاكرة الوصول العشوائي ، فسوف يعاقب أداؤنا. هيا فالنرى اذا كيفية ضبط استخدام الذاكرة الظاهرية في Linux باستخدام أمر Swappiness.

في نظام التشغيل الخاص بنا ، يتم عادةً إنشاء ذاكرة افتراضية أثناء عملية التثبيت ، وفي ذلك الوقت نحدد قسم الجذر (/) وقسم التخزين (/ المنزل) وقسم التبادل أو swap ، والذي يتم تنفيذه عادةً على قسم / dev / sda5. معلمة kernel التي تدير استخدام الذاكرة الافتراضية هي swappiness المذكورة سابقًا ، ويمكننا أن نقول بشكل أساسي أنها مسؤولة عن تحديد عدد المرات التي نصل فيها إلى قسم المبادلة ومقدار المحتوى الذي ننسخه فيه ، من خلال وسيطة تختلف بين 0 و 100.

القيمة الافتراضية في تثبيت Linux هي 60، ولكن كما من السهل الافتراض ، ليست كل تكوينات الأجهزة هي نفسها ، وبالتالي ليس من المنطقي الحفاظ على هذا المستوى بغض النظر عن مستوى تكويناتنا. هذه القيمة مخزنة في ملف / proc / sys / vm / swappiness ، ويمكننا التحقق منها عن طريق:

cat / proc / sys / vm / swappiness

يكاد يكون من المؤكد أنه سيكون في 60 ، وإذا كان هذا هو الحال ، فقد يتعين علينا تعديله ، على وجه الخصوص إذا كان لدينا أكثر من 4 غيغابايت من ذاكرة الوصول العشوائي ، لأنه في هذه الحالة عادة ما نحتاج إلى ذاكرة افتراضية قليلة أو معدومة. ولكن قبل شرح كيفية تعديل ذلك ، دعنا نرى قليلاً عن المنطق وراء هذا الأمر برمته حول الذاكرة الافتراضية والمبادلة ؛ وهذا هو أنه عندما يتم تركها افتراضيًا عند 60 ، فإن ما يُقال للنواة هو الذهاب واستخدام الذاكرة الافتراضية عندما تحتوي ذاكرة الوصول العشوائي لدينا على 40 بالمائة أو أقل من سعتها المجانية. هكذا، إذا قمنا بتعيين Swappiness يساوي 100 ، فسيتم استخدام الذاكرة الافتراضية طوال الوقت، وإذا تركناها بقيمة منخفضة جدًا ، فلن يتم استخدامها إلا عندما توشك ذاكرة الوصول العشوائي الخاصة بنا على النفاد. الحد الأدنى الممكن هو 1 ، نظرًا لترك القيمة تساوي 0 فإننا نقوم بإلغاء تنشيط الذاكرة الافتراضية تمامًا.

إذن ما يتعين علينا القيام به هو إدخال الأمر التالي من المحطة (Ctrl + Alt + T):

sudo sysctl vm.swappiness = 10

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

sudo nano /etc/sysctl.conf

بعد ذلك نبحث عن النص vm.swappiness = ونضيف القيمة المطلوبة بعد الرمز "=". نحفظ الملف والآن نعم ، سيكون التغيير دائمًا.


محتوى المقال يلتزم بمبادئنا أخلاقيات التحرير. للإبلاغ عن خطأ انقر فوق هنا.

15 تعليقات ، اترك لك

اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني.

*

*

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

  1.   سيسفلو قال

    شرح ممتاز !!! مقال جيد جدا !! في حالتي عندما أقوم بإجراء هذا التغيير عند إعادة تشغيل الكمبيوتر الدفتري ، فإنه يعود إلى القيمة الأصلية 60 ، فهو يشبه حفظ الملف ولكن عند إعادة تشغيله "مهيأ". لقد جربت كل شيء بالفعل دون نجاح ، هل لديك أي فكرة عما يمكن أن يحدث؟ لدي 1 جيجابايت من ذاكرة الوصول العشوائي.

    شكرا لك!

    1.    ويلي كليو قال

      مرحبًا سيزار ، أنا سعيد لأنك وجدتها ممتعة.

      إذا فقدت القيمة عند إعادة تشغيل النظام ، فسوف أنظر إلى /etc/rc.local والبرامج النصية الأخرى لبدء التشغيل (تختلف وفقًا لكل توزيعة) حيث قد يتم تعيين هذا عند بدء التشغيل.

      تحيات!

  2.   باسكوال مارتن قال

    شرح جيد جدا!

    كمكمل ، إليك عنصر آخر مثير للاهتمام حول Swap and swappiness في Linux:

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

  3.   حالة المشاهد قال

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

  4.   كليريجو قال

    التحيات،

    في /etc/sysctl.conf الخاص بي ليس النص vm.swappiness = ، لقد بحثت عنه جيدًا ، الملف صغير. تنص المقالة على البحث عن القيمة وتعديلها ، وليس لإضافة السطر ، ما لم تضطر إلى إضافتها.

  5.   رافعة الحجارة قال

    التحيات،

    في /etc/sysctl.conf الخاص بي ، لا يوجد vm.swappiness = text. تنص المقالة على البحث عن القيمة وتعديلها ، وليس لإضافة السطر ، ما لم تضطر إلى إضافتها.

  6.   نوسفيراتوس قال

    يجب أن تقوم بإنشائه ، في نهاية الملف تضع vm.swappiness = 10 وهذا كل شيء.

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

    أوبونتو: sudo gedit /etc/sysctl.conf
    Xubuntu: sudo mousepad /etc/sysctl.conf

  7.   سانتياغو قال

    مقالة ممتازة. شكرا لك!

  8.   روبرتو قال

    يمكنك وضع الصفر. ما هي المشاكل التي يمكن أن تظهر؟

  9.   خوسيه كاستيلو أفالوس قال

    مرحبًا وشكرًا لك ويلي كلو على مقالتك التي توضح لي عملية استخدام ذاكرة swapp ، لكنها تسببت في شك كبير لأنه عند الدخول إلى المحطة وتنفيذ الأوامر التي تشير إليها ، فإنها تُرجع الرسالة التي تقول:

    bash: cat / proc / sys / vm / swappiness: الملف أو الدليل غير موجود

    ما الذي يمكن أن يكون سبب هذا؟

    1.    أندريس شوك لوبيز قال

      لقد كتبت سيئة. لم تضع المساحة بعد كلمة "قطة".

  10.   تعديل الجليد قال

    رائع ، نشاركه في مجموعة أوبونتو باللغة الإسبانية https://t.me/ubuntu_es

  11.   سميث قال

    ممتاز ، لقد نجحت معي في Debian 10.9

  12.   خوان قال

    أنا عالم كمبيوتر قمت بتثبيت واختبار العديد من التوزيعات ، وأفضل خيار لتكوين Swappiness هو الكتابة في المحطة

    sudo nano /etc/sysctl.conf

    بعد الضغط على مفتاح الإدخال ، اكتب المفتاح وأدخل مرة أخرى ، ثم اكتب في نهاية السطر التالي

    vm.swappiness = 0

    ثم اضغط ctrl والمفتاح x في نفس الوقت ، يقوم بإنشاء سؤال مفاده أنه إذا كنت تريد حفظ الجملة الجديدة في الملف ، فاضغط على المفتاح Y لتقول نعم و n حتى لا يتم حفظها

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

  13.   نوربرتو جونزاليس قال

    لم أفهم ذلك، أعذرني. إذا كان الإعداد الافتراضي هو 60 لتنشيط المبادلة مع فقدان 40 أو أقل ، عند ضبط المعلمة على 10. ألن يتم تنشيطها باستخدام 90 من ذاكرة الوصول العشوائي المجانية؟ عن طريق إبطاء تبادل البيانات