SWAPOFF(8) System Administration SWAPOFF(8)

swapoff - غیرفعال‌سازی دستگاه‌ها و فایل‌ها برای صفحه‌بندی و مبادله

swapon [options] [specialfile...]

swapoff [-va] [specialfile...]

دستور swapon برای مشخص کردن دستگاه‌هایی استفاده می‌شود که صفحه‌بندی و مبادله حافظه (swapping) روی آن‌ها انجام می‌گیرد.

دستگاه یا پرونده مورد استفاده توسط پارامتر specialfile مشخص می‌شود. این مقدار می‌تواند به صورت -L label یا -U uuid برای مشخص کردن یک دستگاه بر اساس برچسب یا uuid باشد.

فراخوانی‌های swapon معمولاً در اسکریپت‌های راه‌اندازی (boot) سیستم انجام می‌شوند تا تمام دستگاه‌های سواپ در دسترس قرار گیرند، به‌طوری که فعالیت صفحه‌بندی و مبادله حافظه میان چندین دستگاه و پرونده توزیع شود.

دستور swapoff مبادله حافظه را روی دستگاه‌ها و پرونده‌های مشخص‌شده غیرفعال می‌کند. هنگامی که پرچم -a داده شود، مبادله حافظه روی تمام دستگاه‌ها و پرونده‌های سواپ شناخته‌شده (همان‌گونه که در /proc/swaps یا /etc/fstab آمده است) غیرفعال می‌شود.

-a, --all

تمام دستگاه‌هایی که در /etc/fstab به عنوان "swap" علامت‌گذاری شده‌اند در دسترس قرار می‌گیرند، به جز مواردی که گزینه "noauto" دارند. دستگاه‌هایی که در حال حاضر به عنوان سواپ استفاده می‌شوند، بدون پیام نادیده گرفته می‌شوند.

-T, --fstab path

یک پرونده fstab جایگزین را برای سازگاری با mount(8) مشخص می‌کند. اگر path یک دایرکتوری باشد، پرونده‌های درون دایرکتوری با strverscmp(3) مرتب می‌شوند؛ پرونده‌هایی که با «.» شروع می‌شوند یا پسوند fstab. ندارند، نادیده گرفته می‌شوند. این گزینه می‌تواند بیش از یک بار مشخص شود. این گزینه عمدتاً برای اسکریپت‌های initramfs یا chroot طراحی شده است که در آن‌ها پیکربندی‌های اضافی فراتر از پیکربندی استاندارد سیستم تعیین می‌شود.

-d, --discard[=policy]

عملیات دور انداختن (discard) سواپ را فعال می‌کند، در صورتی که دستگاه پشتیبان سواپ از عملیات discard یا trim پشتیبانی کند. این ممکن است عملکرد را در برخی از دستگاه‌های حالت جامد (SSD) بهبود بخشد، اما اغلب چنین نیست. این گزینه امکان انتخاب بین دو سیاست دور انداختن سواپ را فراهم می‌کند:

--discard=once

برای انجام عملیات دور انداختن یک‌باره برای کل فضای سواپ هنگام swapon؛ یا

--discard=pages

برای دور انداختن ناهمگام صفحه‌های آزادشده سواپ پیش از آنکه برای استفاده مجدد در دسترس قرار گیرند.

اگر هیچ سیاستی انتخاب نشود، رفتار پیش‌فرض فعال کردن هر دو نوع discard است. گزینه‌های اتصال (mount) در /etc/fstab شامل discard، discard=once یا discard=pages نیز می‌توانند برای فعال کردن پرچم‌های discard استفاده شوند.

-e, --ifexists

دستگاه‌هایی که وجود ندارند را بدون ایجاد پیام نادیده می‌گیرد. گزینه اتصال nofail در /etc/fstab نیز می‌تواند برای نادیده گرفتن دستگاه ناموجود استفاده شود.

-f, --fixpgsz

در صورتی که اندازه صفحه فضای سواپ با اندازه صفحه هسته در حال اجرا مطابقت نداشته باشد، فضای سواپ را دوباره مقداردهی اولیه (اجرای mkswap) می‌کند. دستور mkswap(8) کل دستگاه را مقداردهی اولیه می‌کند و بلوک‌های خراب را بررسی نمی‌کند.

-L label

از پارتیشنی که label مشخص‌شده را دارد استفاده می‌کند. (برای این کار، دسترسی به /proc/partitions لازم است.)

-o, --options opts

گزینه‌های سواپ را با یک رشته جداشده با کاما و سازگار با fstab مشخص می‌کند. برای مثال:

swapon -o pri=1,discard=pages,nofail /dev/sda2

رشته opts در آخر ارزیابی می‌شود و تمام گزینه‌های دیگر خط فرمان را بازنویسی (override) می‌کند.

-p, --priority priority

اولویت دستگاه سواپ را مشخص می‌کند. priority مقداری بین 0 و 32767 است. اعداد بالاتر نشان‌دهنده اولویت بالاتر هستند. برای توضیحات کامل اولویت‌های سواپ به swapon(2) مراجعه کنید. مقدار pri=value را برای استفاده با swapon -a به فیلد گزینه‌های /etc/fstab اضافه کنید. هنگامی که هیچ اولویتی تعریف نشده باشد، هسته لینوکس به طور پیش‌فرض از اعداد منفی استفاده می‌کند.

-s, --summary

خلاصه مصرف سواپ را به تفکیک دستگاه نمایش می‌دهد. معادل با cat /proc/swaps است. این قالب خروجی به نفع --show که کنترل بهتری روی داده‌های خروجی فراهم می‌کند، منسوخ شده است (DEPRECATED).

--show[=column...]

جدولی قابل تعریف از فضاهای سواپ را نمایش می‌دهد. برای فهرستی از ستون‌های موجود، خروجی --help را ببینید.

--output-all

تمام ستون‌های موجود را در خروجی نمایش می‌دهد.

--noheadings

هنگام نمایش خروجی --show سرستون‌ها را چاپ نمی‌کند.

--raw

خروجی --show را بدون تراز کردن ستون‌های جدول نمایش می‌دهد.

--bytes

اندازه سواپ را در خروجی --show به جای واحدهای کاربرپسند، بر حسب بایت نمایش می‌دهد.

-U uuid

از پارتیشنی که uuid مشخص‌شده را دارد استفاده می‌کند.

-v, --verbose

نمایش با جزئیات کامل.

-h, --help

متن راهنما را نمایش داده و خارج می‌شود.

-V, --version

اطلاعات نسخه را نمایش داده و خارج می‌شود.

دستور swapoff از نسخه v2.36 دارای مقادیر وضعیت خروج زیر است:

0

موفقیت

2

سیستم حافظه کافی برای توقف مبادله حافظه ندارد (OOM)

4

فراخوانی سیستمی swapoff(2) به دلیل دیگری شکست خورد

8

خطای سیستمی غیر از فراخوانی سیستمی swapoff(2) (کمبود حافظه، ...)

16

خطای استفاده یا نحو دستور

32

تمام موارد swapoff در --all شکست خورد

64

برخی موارد swapoff در --all با موفقیت انجام شد

دستور swapoff --all مقدار 0 (همه موفق)، 32 (همه ناموفق) یا 64 (برخی ناموفق، برخی موفق) را برمی‌گرداند.

نسخه‌های قدیمی پیش از v2.36 وضعیت خروج مستندشده‌ای ندارند، 0 در تمام نسخه‌ها به معنای موفقیت است.

LIBMOUNT_DEBUG=all

خروجی اشکال‌زدایی libmount را فعال می‌کند.

LIBBLKID_DEBUG=all

خروجی اشکال‌زدایی libblkid را فعال می‌کند.

/dev/sd??

دستگاه‌های استاندارد صفحه‌بندی

/etc/fstab

جدول اسکی (ASCII) توصیف سیستم پرونده

پیاده‌سازی پرونده سواپ در هسته انتظار دارد بتواند مستقیماً و بدون کمک سیستم پرونده روی پرونده بنویسد. این موضوع در پرونده‌های دارای حفره یا پرونده‌های رونوشت هنگام نوشتن (copy-on-write) روی سیستم پرونده‌هایی مانند Btrfs یک مشکل است.

دستورهایی مانند cp(1) یا truncate(1) پرونده‌های دارای حفره ایجاد می‌کنند. این پرونده‌ها توسط swapon رد خواهند شد.

پرونده‌های از پیش تخصیص‌یافته ایجادشده توسط fallocate(1) نیز بسته به سیستم پرونده ممکن است به عنوان پرونده‌های دارای حفره تفسیر شوند. پرونده‌های سواپ از پیش تخصیص‌یافته روی XFS از لینوکس 4.18 پشتیبانی می‌شوند.

سازگارترین راه‌حل برای ایجاد یک پرونده سواپ، استفاده از dd(1) و /dev/zero است.

پرونده‌های سواپ روی Btrfs از لینوکس 5.0 روی پرونده‌های دارای صفت nocow پشتیبانی می‌شوند. برای جزئیات بیشتر صفحه راهنمای btrfs(5) را ببینید.

از نسخه 2.41، دستور mkswap --file می‌تواند یک پرونده سواپ جدید با صفت nocow ایجاد کند.

سواپ روی NFS ممکن است کار نکند.

دستور swapon به طور خودکار امضای فضای سواپ را در صورت داشتن داده‌های تعلیق نرم‌افزاری قدیمی (مانند S1SUSPEND، S2SUSPEND و ...) شناسایی کرده و بازنویسی می‌کند. مشکل این است که در صورت انجام ندادن این کار، در تلاش بعدی برای خروج از تعلیق، داده‌ها دچار خرابی می‌شوند.

دستور swapon در 4.0BSD ظاهر شد.

swapoff(2), swapon(2), fstab(5), init(8), fallocate(1), mkswap(8), mount(8), rc(8)

برای گزارش باگ‌ها از سامانه پیگیری اشکالات https://github.com/util-linux/util-linux/issues. استفاده کنید.

دستور swapoff بخشی از بسته util-linux است که می‌تواند از آرشیو هسته لینوکس https://www.kernel.org/pub/linux/utils/util-linux. دریافت شود.

2026-06-16 util-linux 2.41.5