CH-J Server Managerإدارة الخوادم عبر SSH
القائمة
جميع الأدلة والمقالات ←

كيفية إنشاء مساحة swap أو زيادة حجمها في Ubuntu وDebian

تحقق من استخدام الذاكرة، وأنشئ ملف swap، واجعله دائماً وغيّر حجمه بأمان، مع ملاحظات حول Btrfs وzram.

تحقق مما إذا كنت تحتاج إلى مزيد من 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 /swapfile

Btrfs و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 للقراءة فقط هناك.

وثائق مفصلة

man: swapon ←

man: mkswap ←

الفتح بالقياسات الحيوية والأمان ←