تحقق مما إذا كنت تحتاج إلى مزيد من swap
توفر مساحة swap متسعاً للنظام عند نقص الذاكرة، لكنها أبطأ بكثير من RAM. انظر إلى عمود available بدلاً من free، لأن Linux يستخدم الذاكرة غير المستخدمة كذاكرة تخزين مؤقت ويحررها عند الحاجة. نشاط swap المستمر يعني أن الخادم يحتاج إلى ذاكرة أكبر أو عمليات أقل، ولن تحل زيادة swap هذه المشكلة.
free -h
swapon --show
vmstat 1 5إنشاء ملف swap
تحقق أولاً من المساحة الحرة على القرص، ثم أنشئ الملف وقيّد صلاحياته وهيّئه وفعّله. يجب ألا يتمكن من قراءة الملف إلا root.
df -h /
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
swapon --showالإبقاء عليه بعد إعادة التشغيل
أضف سطراً واحداً إلى /etc/fstab بعد نسخ الملف احتياطياً. قد يمنع خطأ في fstab الإقلاع الطبيعي، لذا تحقق من الملف قبل إعادة التشغيل.
sudo cp /etc/fstab /etc/fstab.backup
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
sudo findmnt --verifyتغيير حجم ملف swap
قبل تعطيل swap، تأكد من أن محتواه يتسع في الذاكرة المتاحة: يعيده swapoff إلى RAM، وإذا لم يتسع فيها فقد تُنهى العمليات قسراً. ثم عطّل الملف وأعد إنشاءه بالحجم الجديد وفعّله. يبقى سطر fstab كما هو ما دام المسار لم يتغير.
free -h
sudo swapoff /swapfile
sudo fallocate -l 4G /swapfile
sudo mkswap /swapfile
sudo swapon /swapfileBtrfs وzram
في Btrfs يحتاج ملف swap إلى معالجة خاصة: استخدم btrfs filesystem mkswapfile، وانتبه إلى أنه لا يمكن تضمين وحدة تخزين فرعية تحتوي على ملف swap في لقطة. يختلف zram عن ملف swap، إذ يحتفظ بالصفحات المضغوطة في RAM بدلاً من القرص، وتديره خدمته الخاصة وليس fstab.
Swap في CH-J Server Manager
يعرض System Monitor تفاصيل توزيع RAM، وسجل RAM وswap، وكل مساحة swap مع نوعها وأولويتها ونشاطها. باستخدام root أو sudo يمكنك إنشاء ملفات swap وتفعيلها وتعطيلها وتغيير حجمها وحذفها في /swapfile* أو /swap/<name> أو /var/lib/swap/<name>، بأحجام من 64 MiB إلى 64 GiB، على ext2/3/4 وXFS وBtrfs وF2FS. يرفض التطبيق تعطيل swap إذا كان محتواه لن يتسع في الذاكرة، وينسخ /etc/fstab احتياطياً قبل كل تغيير. يتاح zram وzswap للقراءة فقط هناك.