إنشاء ملف ترحيل (swapfile) لخادم Linux الخاص بك

:bulb: للخوادم التي تحتوي على 4 جيجابايت من ذاكرة الوصول العشوائي (RAM) أو أقل، سيؤدي تشغيل ./discourse-setup إلى مطالبة بإنشاء ملف مبادلة (swapfile) بحجم 2 جيجابايت تلقائيًا.

لا يقوم معظم مزودي الأجهزة الافتراضية السحابية بإعداد ملفات المبادلة كجزء من توفير الخادم الخاص بهم.

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

يمكن القيام بذلك في أي وقت من سطر الأوامر على الخادم الخاص بك.

إعداد ملف مبادلة بحجم 2 جيجابايت

نوصي بملف مبادلة بحجم 2 جيجابايت لـ Discourse، ما لم يكن الخادم الخاص بك يحتوي على أكثر من 4 جيجابايت من الذاكرة.

في الـ shell الذي فتحته لخادمك (droplet)، قم بما يلي:

:warning: ستحتاج إلى أن تكون مستخدم الجذر (root) لمعظم هذا الإجراء، لذا إما أن تكون الجذر أو استخدم sudo -s قبل تشغيل هذه الأوامر! لا تنسَ الخروج من وضع الجذر بعد ذلك.

  1. إنشاء ملف مبادلة فارغ

     install -o root -g root -m 0600 /dev/null /swapfile
    
  2. تخصيص ملف بحجم 2 جيجابايت يسمى ‘swapfile’

     fallocate -l 2G /swapfile
    
  3. إخبار لينكس بأن هذا هو ملف المبادلة:

     mkswap /swapfile
    
  4. تفعيله

     swapon /swapfile
    
  5. إضافته إلى جدول ملفات النظام لضمان بقائه بعد إعادة التشغيل:

     echo "/swapfile       swap    swap    auto      0       0" | tee -a /etc/fstab
    
  6. تعيين قيمة swappiness على 10 لاستخدامه كمخزن مؤقت للطوارئ فقط

     sysctl -w vm.swappiness=10
     echo 'vm.swappiness = 10' > /etc/sysctl.d/30-discourse-swap.conf
    

العملية بأكملها كنص برمجي واحد يمكن نسخه ولصقه:

install -o root -g root -m 0600 /dev/null /swapfile
fallocate -l 2G /swapfile
mkswap /swapfile
swapon /swapfile
echo "/swapfile       swap    swap    auto      0       0" | tee -a /etc/fstab
sysctl -w vm.swappiness=10
echo 'vm.swappiness = 10' > /etc/sysctl.d/30-discourse-swap.conf
96 إعجابًا