| MKSWAP(8) | دستورات مدیریت سیستم | MKSWAP(8) |
نام (NAME)
mkswap - راهاندازی و ایجاد ناحیه مبادله لینوکس (Swap)
خلاصه دستور (SYNOPSIS)
mkswap [گزینهها] دستگاه [بلوکها]
mkswap [گزینهها] --size اندازه --file فایل
توضیحات (DESCRIPTION)
دستور mkswap یک ناحیه مبادله (swap area) لینوکس را روی یک دستگاه یا درون یک فایل ایجاد و آمادهسازی میکند.
آرگومان دستگاه معمولاً یک پارتیشن دیسک (مانند /dev/sdb7) است، اما میتواند یک فایل نیز باشد. هسته لینوکس به شناسههای پارتیشن نگاه نمیکند، اما بسیاری از اسکریپتهای نصب فرض میکنند پارتیشنهایی با نوع هگزادسیمال 82 (LINUX_SWAP) برای پارتیشنهای swap در نظر گرفته شدهاند. (هشدار: سولاریس نیز از این نوع استفاده میکند. مراقب باشید پارتیشنهای سولاریس خود را نابود نکنید.)
پارامتر بلوکها زائد است اما برای سازگاری با گذشته حفظ شده است. (این پارامتر اندازه دلخواه ناحیه swap را در بلوکهای ۱۰۲۴ بایتی مشخص میکند. در صورت حذف آن، mkswap از کل پارتیشن یا فایل استفاده خواهد کرد. مشخص کردن آن کار عاقلانهای نیست - یک اشتباه تایپی ممکن است دیسک شما را نابود کند.)
پس از ایجاد ناحیه مبادله، برای آغاز استفاده از آن به دستور swapon(8) نیاز دارید. معمولاً نواحی swap در /etc/fstab فهرست میشوند تا بتوان در زمان بوت با دستور swapon -a در یکی از اسکریپتهای بوت از آنها استفاده کرد.
هشدار (WARNING)
سرایند swap به اولین بلوک دست نمیزند. یک بوتلودر یا برچسب دیسک میتواند در آنجا قرار داشته باشد، اما این پیکربندی توصیه نمیشود. پیکربندی توصیهشده استفاده از یک پارتیشن جداگانه برای ناحیه swap لینوکس است.
دستور mkswap، مانند بسیاری دیگر از ابزارهای مشابه mkfs، اولین بلوک پارتیشن را پاک میکند تا هر سیستمفایل قبلی نامرئی شود.
با این حال، mkswap از پاک کردن اولین بلوک روی دستگاهی که دارای برچسب دیسک (مانند SUN، BSD و ...) باشد خودداری میکند.
گزینهها (OPTIONS)
-c, --check
-F, --file
-f, --force
همچنین بدون این گزینه، mkswap از پاک کردن اولین بلوک روی دستگاهی که دارای جدول پارتیشن باشد خودداری خواهد کرد.
-q, --quiet
-L, --label برچسب
--lock[=حالت]
-p, --pagesize اندازه
-U, --uuid UUID
clear
random
time
-e, --endianness ENDIANNESS
-o, --offset آفست
-s, --size اندازه
-v, --swapversion 1
--verbose
-h, --help
-V, --version
متغیرهای محیطی (ENVIRONMENT)
LIBBLKID_DEBUG=all
LOCK_BLOCK_DEVICE=<mode>
نکات (NOTES)
حداکثر اندازه مفید یک ناحیه swap به معماری و نسخه هسته بستگی دارد.
حداکثر تعداد صفحاتی که هدر ناحیه swap میتواند آدرسدهی کند ۴۲۹۴۹۶۷۲۹۵ (عدد صحیح ۳۲ بیتی بدون علامت) است. فضای باقیمانده روی دستگاه swap نادیده گرفته میشود.
در حال حاضر، لینوکس اجازه استفاده از ۳۲ ناحیه swap را میدهد. نواحی در حال استفاده را میتوان در فایل /proc/swaps مشاهده کرد.
دستور mkswap از ایجاد نواحی کوچکتر از ۱۰ صفحه خودداری میکند.
اگر اندازه صفحه مورد استفاده سیستم خود را نمیدانید، میتوانید آن را با دستور getconf PAGESIZE پیدا کنید.
علاوه بر mkswap --file، امکان ایجاد دستی فایل swap قبل از مقداردهی اولیه با mkswap نیز وجود دارد، به عنوان مثال با دستوری مانند:
از نسخه 2.41، گزینه mkswap --file صفت nocow را برای فایلهای جدیداً ایجادشده تنظیم میکند تا از فایلهای swap روی Btrfs پشتیبانی شود.
# dd if=/dev/zero of=swapfile bs=1MiB count=$((8*1024))
برای ایجاد یک فایل swap به اندازه 8GiB.
در چنین حالتی، لطفاً نکات ذکرشده در swapon(8) درباره محدودیتهای استفاده از فایل swap (مشکلات حفرهها، پیشتخصیص و مسائل copy-on-write) را مطالعه کنید.
همچنین ببینید (SEE ALSO)
گزارش باگها (REPORTING BUGS)
برای گزارش باگها، از سامانه پیگیری مشکلات https://github.com/util-linux/util-linux/issues.
در دسترس بودن (AVAILABILITY)
دستور mkswap بخشی از بسته util-linux است که میتوان آن را از آرشیو کرنل لینوکس https://www.kernel.org/pub/linux/utils/util-linux. دانلود کرد.
| 2026-06-16 | util-linux 2.41.5 |