| SWAPON(8) | دستورات مدیریت سیستم | SWAPON(8) |
نام (NAME)
swapon, swapoff - فعالسازی/غیرفعالسازی دستگاهها و فایلها برای صفحهبندی و مبادله
خلاصه دستور (SYNOPSIS)
swapon [options] [specialfile...]
swapoff [-va] [specialfile...]
توضیحات (DESCRIPTION)
دستور swapon برای مشخص کردن دستگاههایی استفاده میشود که صفحهبندی و مبادله (paging and swapping) باید روی آنها انجام شود.
دستگاه یا فایل مورد استفاده توسط پارامتر specialfile مشخص میشود. این پارامتر میتواند به شکل -L label یا -U uuid باشد تا دستگاه را بر اساس برچسب یا uuid مشخص کند.
فراخوانیهای swapon معمولاً در اسکریپتهای بوت سیستم رخ میدهند تا تمام دستگاههای مبادله در دسترس قرار گیرند، بهطوریکه فعالیت صفحهبندی و مبادله در میان چندین دستگاه و فایل همپوشانی و توزیع شود.
دستور swapoff مبادله روی دستگاهها و فایلهای مشخصشده را غیرفعال میکند. هنگامی که پرچم -a داده شود، مبادله روی تمام دستگاهها و فایلهای مبادله شناختهشده (همانطور که در /proc/swaps یا /etc/fstab یافت میشود) غیرفعال میشود.
گزینهها (OPTIONS)
-a, --all
-T, --fstab path
-d, --discard[=policy]
--discard=once
--discard=pages
اگر هیچ خطمشیای انتخاب نشود، رفتار پیشفرض فعالسازی هر دو نوع discard است. گزینههای مانت /etc/fstab شامل discard، discard=once یا discard=pages نیز ممکن است برای فعالسازی پرچمهای دورریزی استفاده شوند.
-e, --ifexists
-f, --fixpgsz
-L label
-o, --options opts
swapon -o pri=1,discard=pages,nofail /dev/sda2
رشته opts در آخر ارزیابی میشود و همه گزینههای دیگر خط فرمان را بازنویسی میکند.
-p, --priority priority
-s, --summary
--show[=column...]
--output-all
--noheadings
--raw
--bytes
-U uuid
-v, --verbose
-h, --help
-V, --version
وضعیت خروج (EXIT STATUS)
دستور swapoff از نسخه v2.36 دارای مقادیر وضعیت خروج زیر است:
0
2
4
8
16
32
64
دستور swapoff --all مقادیر 0 (همه موفق)، 32 (همه ناموفق) یا 64 (برخی ناموفق، برخی موفق) را برمیگرداند.
نسخههای قدیمی قبل از v2.36 وضعیت خروج مستندشدهای ندارند، مقدار 0 در تمام نسخهها به معنی موفقیت است.
محیط (ENVIRONMENT)
LIBMOUNT_DEBUG=all
LIBBLKID_DEBUG=all
پروندهها (FILES)
/dev/sd??
/etc/fstab
نکات (NOTES)
پروندههای دارای حفره (Files with holes)
پیادهسازی فایل مبادله در هسته انتظار دارد که بتواند مستقیماً و بدون دخالت سیستمفایل روی فایل بنویسد. این مورد در پروندههای دارای حفره یا در پروندههای کپیهنگامنوشتن (copy-on-write) روی سیستمفایلهایی مانند Btrfs یک مشکل است.
دستوراتی مانند cp(1) یا truncate(1) پروندههایی با حفره ایجاد میکنند. این پروندهها توسط swapon رد خواهند شد.
پروندههای از پیش تخصیصیافته ایجادشده توسط fallocate(1) نیز ممکن است بسته به نوع سیستمفایل به عنوان پروندههای دارای حفره تفسیر شوند. پروندههای مبادله از پیش تخصیصیافته روی XFS از لینوکس 4.18 پشتیبانی میشوند.
سازگارترین راهکار برای ایجاد یک پرونده مبادله، استفاده از dd(1) و /dev/zero است.
Btrfs
پروندههای مبادله روی Btrfs از لینوکس 5.0 روی پروندههای دارای صفت nocow پشتیبانی میشوند. برای جزئیات بیشتر به صفحه راهنمای btrfs(5) مراجعه کنید.
از نسخه 2.41، دستور mkswap --file میتواند یک پرونده مبادله جدید با صفت nocow ایجاد کند.
NFS
مبادله روی NFS ممکن است کار نکند.
تعلیق (Suspend)
دستور swapon بهطور خودکار امضای فضای مبادله را با دادههای قدیمی تعلیق نرمافزاری (مانند S1SUSPEND، S2SUSPEND، ...) تشخیص داده و بازنویسی میکند. مشکل این است که اگر این کار انجام نشود، در تلاش بعدی برای بازگشت از تعلیق (unsuspending) تخریب داده رخ خواهد داد.
تاریخچه (HISTORY)
دستور swapon در 4.0BSD معرفی شد.
همچنین ببینید (SEE ALSO)
swapoff(2), swapon(2), fstab(5), init(8), fallocate(1), mkswap(8), mount(8), rc(8)
گزارش باگها (REPORTING BUGS)
برای گزارش باگها، از سامانه پیگیری مشکلات https://github.com/util-linux/util-linux/issues.
دسترسیپذیری (AVAILABILITY)
دستور swapon بخشی از بسته util-linux است که میتواند از آرشیو هسته لینوکس https://www.kernel.org/pub/linux/utils/util-linux. دریافت شود.
| 2026-06-16 | util-linux 2.41.5 |