در این راهنما میخواهیم نحوه ایجاد و فعالسازی حافظهی Swap را در سرور لینوکسی توضیح دهیم تا در مواقعی که رم (RAM) سرور پر میشود، سیستم بتواند از فضای دیسک بهعنوان حافظه موقت استفاده کند و پایداری سرویسها حفظ شود.
مرحله اول: بررسی وجود فضای Swap
بعد از ورود از طریق SSH، ابتدا باید بررسی کنید که آیا سیستم شما در حال حاضر Swap فعال دارد یا خیر. برای این کار دستور زیر را در ترمینال وارد کنید:
swapon --show
اگر خروجی این دستور خالی بود، یعنی در حال حاضر هیچ Swap فعالی وجود ندارد و باید آن را ایجاد کنید. اما اگر خروجی شامل مسیر فایلی مانند /swapfile یا یک پارتیشن خاص بود، یعنی سیستم در حال حاضر از Swap استفاده میکند.
در ادامه فرض میکنیم Swap غیرفعال است و میخواهیم آن را از ابتدا بسازیم.
مرحله دوم: بررسی فضای آزاد دیسک
قبل از ایجاد Swap باید مطمئن شوید فضای کافی در دیسک سرور برای ساخت فایل جدید وجود دارد. برای مشاهده فضای موجود میتوانید از دستور زیر استفاده کنید:
df -h
در خروجی این دستور، ستون Available میزان فضای آزاد را نشان میدهد. اگر قصد دارید یک Swap با حجم ۲ گیگابایت بسازید، باید حداقل به همین مقدار فضای خالی در دیسک داشته باشید. اگر فضای آزاد کافی نیست، باید ابتدا فایلها یا لاگهای غیرضروری را حذف کنید.
مرحله سوم: ایجاد فایل Swap
در این مرحله فایل اصلی Swap را ایجاد میکنیم. این فایل در واقع همان فضایی از دیسک است که سیستم در آینده بهعنوان حافظهی مجازی از آن استفاده میکند. برای ایجاد فایل ۲ گیگابایتی، از دستور زیر استفاده کنید:
sudo fallocate -l 2G /swapfile
در برخی توزیعها مانند CentOS ممکن است دستور fallocate در دسترس نباشد. در این صورت میتوانید از دستور جایگزین زیر استفاده کنید:
sudo dd if=/dev/zero of=/swapfile bs=1M count=2048
مرحله چهارم: تنظیم سطح دسترسی فایل Swap
برای امنیت بیشتر، باید دسترسی فایل Swap را محدود کنید تا سایر کاربران نتوانند به آن دسترسی داشته باشند. برای این منظور دستور زیر را وارد کنید:
sudo chmod 600 /swapfile
این دستور باعث میشود فقط کاربر root به فایل دسترسی داشته باشد.
مرحله پنجم: فعالسازی Swap
در این مرحله فایل ساختهشده را به سیستم معرفی و فعال میکنیم. ابتدا با دستور زیر آن را به فرمت Swap تبدیل کنید:
sudo mkswap /swapfile
سپس با دستور زیر آن را فعال نمایید:
sudo swapon /swapfile
برای اطمینان از فعال شدن Swap، دستور swapon --show را دوباره اجرا کنید. اگر مسیر /swapfile در خروجی نمایش داده شد، یعنی Swap به درستی فعال شده است.
مرحله ششم: فعالسازی دائمی Swap
برای اینکه Swap پس از ریبوت هم فعال بماند، باید مسیر آن را در فایل fstab اضافه کنید. بنابراین دستور زیر را اجرا نمایید:
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
از این پس با هر بار راهاندازی سرور، Swap بهطور خودکار فعال خواهد شد.
مرحله هفتم: تنظیم مقدار Swappiness
مقدار swappiness تعیین میکند که سیستم چه زمانی از Swap نسبت به RAM استفاده کند. مقدار پیشفرض معمولاً ۶۰ است، اما برای VPSها بهتر است روی ۱۰ تا ۲۰ تنظیم شود.
برای تنظیم موقت مقدار swappiness از دستور زیر استفاده کنید:
sudo sysctl vm.swappiness=10
و اگر میخواهید این مقدار بهصورت دائمی ذخیره شود، دستور زیر را وارد کنید:
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
مرحله هشتم: بررسی وضعیت نهایی Swap
در پایان میتوانید با دستور زیر وضعیت حافظهی RAM و Swap را بررسی کنید:
free -h
در خروجی، بخش Swap باید مقدار فعال جدید را نمایش دهد.
در نتیجه، با انجام مراحل بالا توانستید بهصورت کامل حافظهی Swap را در VPS لینوکسی خود ایجاد و فعال کنید. این کار به افزایش پایداری و جلوگیری از کندی سرور در زمان افزایش مصرف حافظه کمک میکند و عملکرد کلی سیستم را بهبود میدهد.







