پرش به محتویات

نحوه فعال‌سازی Swap برای یک VPS لینوکسی

در این صفحه یاد می‌گیرید که به یک سرور لینوکسی که Swap ندارد، Swap اضافه کنید. این کار را می‌توانید در حالی که سرور روشن است و بدون متوقف کردن هیدیفای انجام دهید.

Swap فضایی روی دیسک است که لینوکس وقتی رم (RAM) پر می‌شود، از آن به‌عنوان حافظه اضافه استفاده می‌کند. Swap خیلی کندتر از رم است، اما جلوی از کار افتادن برنامه‌ها هنگام تمام شدن حافظه را می‌گیرد.

چه زمانی به این کار نیاز دارید

  • نشانه: نصب یا به‌روزرسانی هیدیفای منیجر با پیام Building the admin UI ran out of memory (needs ~1.2 GB free RAM or swap) متوقف می‌شود، یا سرویس‌ها روی یک سرور کوچک بی‌دلیل متوقف یا ری‌استارت می‌شوند.
  • علت احتمالی: رم سرور کم است (مثلاً ۱ گیگابایت) و Swap ندارد.
  • راه‌حل: با مراحل زیر یک فایل Swap بسازید و سپس نصب یا به‌روزرسانی را دوباره اجرا کنید.

پیش از شروع

  • باید بتوانید با SSH به سرور وصل شوید. آموزش اتصال به سرور با SSH را ببینید.
  • دیسک باید دست‌کم چند گیگابایت فضای خالی داشته باشد. در این صفحه به‌عنوان نمونه یک فایل Swap دو گیگابایتی ساخته می‌شود.

مراحل

همه دستورها را روی سرور و از طریق SSH اجرا کنید.

  1. بررسی کنید که سرور از قبل Swap دارد یا نه:

    sudo swapon --show
    

    اگر خروجی خالی بود، سرور Swap ندارد و ادامه دهید. اگر یک فایل یا پارتیشن Swap نشان داد، سرور از قبل Swap دارد و به این صفحه نیازی ندارید (اندازه آن را با free -h ببینید).

  2. فضای خالی دیسک را بررسی کنید:

    df -h /
    

    به ستون Avail نگاه کنید. فضای خالی باید از اندازه Swap موردنظر شما بیشتر باشد و کمی هم اضافه بماند.

  3. یک فایل دو گیگابایتی برای Swap بسازید:

    sudo fallocate -l 2G /swapfile
    

    اگر خطایی مثل fallocate failed: Operation not supported نشان داد، به‌جای آن از این دستور استفاده کنید:

    sudo dd if=/dev/zero of=/swapfile bs=1M count=2048
    

    اگر گفت فایل از قبل وجود دارد، دوباره sudo swapon --show را اجرا کنید؛ شاید فایل در حال استفاده باشد.

  4. دسترسی به فایل را فقط به مدیر سیستم بدهید:

    sudo chmod 600 /swapfile
    
  5. فایل را برای استفاده به‌عنوان Swap آماده کنید:

    sudo mkswap /swapfile
    
  6. Swap را روشن کنید:

    sudo swapon /swapfile
    
  7. بررسی کنید که کار کرده است:

    sudo swapon --show
    

    اگر درست انجام شده باشد، /swapfile را با اندازه حدود 2G می‌بینید.

  8. برای این‌که Swap پس از ری‌استارت سرور هم فعال بماند، آن را به فایل /etc/fstab (فایلی که مشخص می‌کند لینوکس هنگام روشن شدن چه چیزهایی را فعال کند) اضافه کنید. این دستور فقط وقتی خط را اضافه می‌کند که از قبل وجود نداشته باشد:

    grep -q '^/swapfile ' /etc/fstab || echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
    

نکته‌ها

  • اندازه: اندازه Swap را بر اساس رم سرور و فضای خالی دیسک انتخاب کنید. دو گیگابایت برای نصب‌کننده هیدیفای روی یک سرور کوچک کافی است.
  • پایش مصرف: هر وقت خواستید، مصرف رم و Swap را با free -h یا htop ببینید. اگر Swap همیشه زیاد استفاده می‌شود، سرور به رم بیشتری نیاز دارد. آموزش پایش منابع سرور را ببینید.
  • بعضی سرورها نمی‌توانند Swap داشته باشند. در بعضی انواع VPS مبتنی بر کانتینر (مثل OpenVZ یا LXC)، دستور swapon با خطای Operation not permitted شکست می‌خورد. در این حالت از شرکت میزبانی بپرسید یا سروری با رم بیشتر انتخاب کنید.

اخرین بروزرسانی: 23 اکتبر 2026

نظرات