للخوادم التي تحتوي على 4 جيجابايت من ذاكرة الوصول العشوائي (RAM) أو أقل، سيؤدي تشغيل
./discourse-setupإلى مطالبة بإنشاء ملف مبادلة (swapfile) بحجم 2 جيجابايت تلقائيًا.
لا يقوم معظم مزودي الأجهزة الافتراضية السحابية بإعداد ملفات المبادلة كجزء من توفير الخادم الخاص بهم.
على وجه الخصوص، يؤدي ترقية Discourse إلى توليد قدر كبير من ضغط الذاكرة. باستخدام ملف مبادلة، بدلاً من إنهاء العمليات عشوائيًا بسبب خطأ نفاد الذاكرة، ستتباطأ الأمور بدلاً من ذلك. وجود ملف مبادلة هو بوليصة تأمين رخيصة تحميك من العديد من الإخفاقات الأخرى المتعلقة بالحمل.
يمكن القيام بذلك في أي وقت من سطر الأوامر على الخادم الخاص بك.
إعداد ملف مبادلة بحجم 2 جيجابايت
نوصي بملف مبادلة بحجم 2 جيجابايت لـ Discourse، ما لم يكن الخادم الخاص بك يحتوي على أكثر من 4 جيجابايت من الذاكرة.
في الـ shell الذي فتحته لخادمك (droplet)، قم بما يلي:
ستحتاج إلى أن تكون مستخدم الجذر (root) لمعظم هذا الإجراء، لذا إما أن تكون الجذر أو استخدم
sudo -sقبل تشغيل هذه الأوامر! لا تنسَ الخروج من وضع الجذر بعد ذلك.
-
إنشاء ملف مبادلة فارغ
install -o root -g root -m 0600 /dev/null /swapfile -
تخصيص ملف بحجم 2 جيجابايت يسمى ‘swapfile’
fallocate -l 2G /swapfile -
إخبار لينكس بأن هذا هو ملف المبادلة:
mkswap /swapfile -
تفعيله
swapon /swapfile -
إضافته إلى جدول ملفات النظام لضمان بقائه بعد إعادة التشغيل:
echo "/swapfile swap swap auto 0 0" | tee -a /etc/fstab -
تعيين قيمة
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