العودة إلى المدونة

إضافة مساحة Swap على Ubuntu 20.04: دليل تعليمي

إضافة مساحة Swap على Ubuntu 20.04: دليل تعليمي

يعد إضافة مساحة التبديل (swap space) إلى خادمك خيارًا ممتازًا للتعويض عن أخطاء نفاد الذاكرة. Linux يتيح للمستخدمين إضافة مساحة تبديل في نظامهم عندما تكون كمية ذاكرة الوصول العشوائي (RAM) في النظام ممتلئة. عند إنشاء قسم مساحة مخصص، ستسمح للذاكرة الفعلية بالعمل بسلاسة دون القلق كثيرًا بشأن انخفاض مساحة القرص.

نظرة عامة على التبديل (Swap)

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

ما هي كمية مساحة التبديل (Swap) التي أحتاجها؟

تعتمد كمية مساحة التبديل على عدة عوامل. وتشمل هذه ذاكرة الوصول العشوائي (RAM) المتاحة، والحمل المفروض، وما إذا كان النظام مطلوبًا لدعم ميزة السبات (التعليق إلى القرص). راجع الجدول أدناه للتحقق من مساحة التبديل الموصى بها بناءً على المساحة المتوفرة في ذاكرة الوصول العشوائي (RAM):

الرقم التسلسلي

مساحة RAM المتاحة

مساحة التبديل الموصى بها

1.

1GB

1GB

2.

2GB

1GB

3.

3GB

2GB

4.

4GB

2GB

5.

5GB

2GB

6.

6GB

2GB

7.

8GB

3GB

في هذا البرنامج التعليمي، سنقوم بـ إرشادك عبر خطوات إضافة مساحة التبديل على Ubuntu 20.04. لنبدأ!

المتطلبات الأساسية

لمتابعة هذا البرنامج التعليمي، ستحتاج إلى:

الخطوة 1: التحقق من معلومات التبديل (Swap)

يعتمد حجم مساحة التبديل على ذاكرة الوصول العشوائي (RAM) للنظام. لذلك، من الضروري التحقق من توفر مساحة التبديل في نظامك قبل إنشاء واحدة. اكتب الأمر أدناه للتحقق مما إذا كان النظام يحتوي على أي مساحة تبديل مهيأة:

Swap Space image 1

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

استخدم أداة free للتحقق من عدم وجود مساحة تبديل نشطة:

سترى المخرجات كصف تبديل فارغ (null):

Swap Space image 2

الخطوة 2: التحقق من توفر قسم القرص الصلب

على غرار التحقق من توفر النظام، دعنا الآن نتحقق من استخدام القرص الحالي للتأكد من أن لدينا مساحة كافية. استخدم الأمر df للتحقق من توفر قسم القرص الصلب:

الجهاز الذي يحتوي على / في عمود Mounted on هو قرصنا الذي يحتوي على 11% مساحة فارغة. سترى المخرجات:

Swap Space image 3

بعد التحقق من متطلبات النظام، دعنا ننتقل إلى الأمام وننشئ ملف تبديل على نظام الملفات لدينا.

Step 3: Create a Swap File

لإنشاء ملف تبديل على نظام الملفات لدينا، قم بتخصيص اسم ملف كـ swapfile في الدليل الجذري (root) (/) باستخدام برنامج fallocate. يعتمد تخصيص حجم الملف على احتياجاتك. لإبقاء البرنامج التعليمي بسيطًا وسهل الفهم، سنقوم بإنشاء ملف بحجم 1G وتخصيص 1G من ذاكرة الوصول العشوائي (RAM). استخدم الأمر sudo لإنشاء ملف تبديل:

بعد ذلك، اكتب هذا الأمر للتحقق من المساحة المحجوزة:

سترى المخرجات:Swap Space image 3

الآن بعد أن أنشأنا مساحة تبديل في نظامنا، دعنا نقوم بتمكينها في الخطوة التالية.

الخطوة 4: تمكين ملف التبديل

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

ثم، استخدم الأمر ls للتحقق من التغييرات:

كما ترى، يمتلك مستخدم root فقط علامات القراءة والكتابة مُمكّنة:

Swap Space image 4

بعد ذلك، قم بتمييز الملف كمساحة تبديل:

سترى المخرجات:

Swap Space image 5

بعد ذلك، قم بتمكين ملف التبديل والسماح لنظامنا بالبدء في استخدامه:

بعد ذلك، تحقق من توفر مساحة التبديل:

سترى المخرجات التالية:

Swap Space image 6

كما فعلنا في الخطوة 1، سنتحقق من free المساحة المتاحة للأداة مرة أخرى:

سترى المخرجات التالية:

Swap Space image 7

تم إعداد مساحة التبديل الخاصة بنا بنجاح وسيبدأ نظام التشغيل لدينا في استخدامها حسب الضرورة. في الخطوة التالية، سنجعل ملف التبديل دائمًا.

الخطوة 5: جعل ملف التبديل دائمًا

بشكل افتراضي، لن يحتفظ الخادم بإعدادات التبديل تلقائيًا عند إعادة التشغيل. لتغيير الإعدادات الافتراضية وتجنب أي مشاكل، سنقوم بإضافة ملف التبديل إلى ملف /etc/fstab الخاص بنا. استخدم الأمر sudo لعمل نسخة احتياطية لملف /etc/fstab :

بعد ذلك، أضف معلومات ملف التبديل إلى نهاية ملف /etc/fstab عن طريق كتابة:

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

الخطوة 6: تعديل إعدادات مساحة التبديل

في هذه الخطوة، سنقوم بتهيئة الإعدادات وإجراء بعض التعديلات. دعنا’ نضبط خاصية swappiness ونغير ضغط ذاكرة التخزين المؤقت.

  • ضبط خاصية Swappiness

إن معامل swappiness هو معامل نواة قابل للضبط. فهو يغير التوازن بين ترحيل ذاكرة وقت التشغيل ويتحكم في تبادل البيانات بين ترحيل البيانات من ذاكرة الوصول العشوائي (RAM) إلى مساحة التبديل. يتم التعبير عن هذه القيمة كنسبة مئوية، تتراوح من 0 إلى 100.

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

وبدلاً من ذلك، فإن قيمة vm.swappiness الأقرب إلى 100 تحاول وضع المزيد من البيانات في مساحة التبديل وتقليلها في الذاكرة الفعلية. وعلى عكس قيمة vm.swappiness المنخفضة إلى المتوسطة، فإن الترحيل العالي للنظام له تأثيرات غير مرغوب فيها للغاية عندما تكون هناك كميات كبيرة من البيانات التي يتم ترحيلها بنشاط من وإلى ذاكرة الوصول العشوائي (RAM).

تحقق من قيمة swappiness الحالية عن طريق كتابة:

سترى’ المخرجات التالية:

Swap Space image 8

يمكنك أيضًا تعيين قيمة swappiness التي تختارها باستخدام الأمر sysctl. دعنا نضبط قيمة swappiness على 15 عن طريق كتابة:

سترى المخرجات التالية:

output

ستبقى الإعدادات كما هي حتى يتم إعادة تشغيل النظام. أضف السطر إلى ملف /etc/sysctl.conf الخاص بنا لتعيين القيمة تلقائيًا عند إعادة التشغيل:

يمكنك إضافة الكود التالي في الأسفل:

code

ثم احفظ الملف وأغلقه.

  • ضبط ضغط ذاكرة التخزين المؤقت

بعد ذلك، سنقوم بتعديل vfs_cache_pressure الذي سيهتم بمعلومات inode و dentry على حساب البيانات الأخرى. إعدادات vfs_cache_pressure هذه تتحكم أيضًا في ميل النواة لاستعادة الذاكرة المستخدمة لتخزين الدليل مؤقتًا. تصفح نظام ملفات proc مرة أخرى للتحقق من القيمة الحالية:

سترى المخرجات التالية:

output 2

بما أن التهيئة قد تمت بالفعل، سيقوم نظامنا بإزالة معلومات inode من ذاكرة التخزين المؤقت. دعنا’ نضبط sysctl vm.vfs_cache_pressure على إعداد أكثر استقرارًا مثل هذا:

سترى المخرجات التالية:

Swap Space image 9

على غرار ما فعلناه في إعداد swappiness، يمكننا تغيير التهيئة هنا أيضًا:

في الأسفل، أدخل سطرًا يشير إلى القيمة الجديدة التي أنشأتها:

Swap Space image 10

أخيرًا، احفظ الملف وأغلقه.

الخاتمة

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

إليك المزيد من البرامج التعليمية على مدونتنا التي ستساعدك على البدء في استخدام خوادم Ubuntu الخاصة بك:

حوسبة سعيدة!

author

Hark Labs

المؤلف · CloudSigma

Preslav Dobrev هو مصمم إبداعي في CloudSigma، يركز على هوية أعمال متسقة باستخدام قنوات التسويق التقليدية والمبتكرة. هو بارع في دمج الرؤية الفنية مع التسويق الاستراتيجي لخلق سرد قصصي مؤثر للعلامة التجارية.

التعليقات

لا توجد تعليقات بعد. كن أول من يعلق.