CH-J Server Managerمدیریت سرور از طریق SSH
منو
همهٔ راهنماها و مقاله‌ها ←

چگونه در Ubuntu و Debian فضای swap ایجاد کنیم یا آن را بزرگ کنیم

مصرف حافظه را بررسی کنید، فایل 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 ←

باز کردن قفل بیومتریک و امنیت ←