SYSTEMD.SWAP(5) systemd.swap SYSTEMD.SWAP(5)

systemd.swap - پیکربندی و تعاریف واحدهای حافظه مبادله (Swap) در systemd

swap.swap

یک فایل پیکربندی واحد که نام آن به ".swap" ختم می‌شود، اطلاعات مربوط به یک دستگاه یا فایل حافظه مبادله (swap) را برای صفحه‌بندی حافظه (memory paging) که تحت کنترل و نظارت systemd است، کدگذاری می‌کند.

این صفحه راهنما، گزینه‌های پیکربندی مخصوص این نوع واحد را فهرست می‌کند. برای گزینه‌های مشترک تمام فایل‌های پیکربندی واحد، systemd.unit(5) را ببینید. موارد پیکربندی مشترک در بخش‌های عمومی [Unit] و [Install] پیکربندی می‌شوند. گزینه‌های پیکربندی ویژه حافظه مبادله در بخش [Swap] پیکربندی می‌شوند.

گزینه‌های اضافی در systemd.exec(5) فهرست شده‌اند، که محیط اجرایی را که برنامهٔ swapon(8) در آن اجرا می‌شود تعریف می‌کند، در systemd.kill(5)، که نحوه خاتمه دادن به این فرایندها را تعریف می‌کند، و در systemd.resource-control(5)، که تنظیمات کنترل منابع را برای این فرایندهای واحد پیکربندی می‌کند.

واحدهای swap باید بر اساس دستگاه‌ها یا فایل‌هایی که کنترل می‌کنند نام‌گذاری شوند. مثال: دستگاه swap /dev/sda5 باید در یک فایل واحد به نام dev-sda5.swap پیکربندی شود. برای جزئیات مربوط به منطق گریز (escaping) مورد استفاده برای تبدیل یک مسیر سیستم‌فایل به نام واحد، systemd.unit(5) را ببینید. توجه داشته باشید که واحدهای swap نمی‌توانند به عنوان الگو (template) استفاده شوند، و همچنین افزودن چندین نام به یک واحد swap با ایجاد پیوندهای نمادین (symlinks) اضافی به آن امکان‌پذیر نیست.

توجه داشته باشید که پشتیبانی از swap در لینوکس نیازمند دسترسی‌های ویژه (privileged) است، از این رو واحدهای swap تنها در مدیر سرویس سیستم (و مدیر سرویس کاربری root) در دسترس هستند، و در مدیر سرویس کاربران غیرممتاز در دسترس نمی‌باشند.

وابستگی‌های زیر به‌طور ضمنی اضافه می‌شوند:

•تمام واحدهای swap به‌طور خودکار وابستگی‌های Requires= و After= را نسبت به واحدهای دستگاه یا واحدهای سوار کردن فایل‌هایی که از آن‌ها فعال می‌شوند دریافت می‌کنند.

وابستگی‌های ضمنی اضافی ممکن است در نتیجه پارامترهای اجرا و کنترل منابع همان‌طور که در systemd.exec(5) و systemd.resource-control(5) مستند شده است اضافه شوند.

وابستگی‌های زیر اضافه می‌شوند مگر اینکه DefaultDependencies=no تنظیم شده باشد:

•واحدهای swap محلی به‌طور خودکار یک وابستگی Conflicts= و یک وابستگی Before= نسبت به umount.target کسب می‌کنند تا در زمان خاموش شدن سیستم غیرفعال شوند، و همچنین یک وابستگی Before=swap.target به دست می‌آورند.
•واحدهای swap شبکه‌ای (آن‌هایی که دارای _netdev در گزینه‌های خود هستند) به‌طور خودکار وابستگی‌های After= را نسبت به remote-fs-pre.target و network.target، به علاوه وابستگی‌های After= و Wants= را نسبت به network-online.target، و یک وابستگی Before= را نسبت به remote-fs.target به جای swap.target به دست می‌آورند.

واحدهای swap را می‌توان از طریق فایل‌های واحد یا از طریق /etc/fstab پیکربندی کرد (برای جزئیات به fstab(5) مراجعه کنید). swapهای فهرست‌شده در /etc/fstab به‌طور پویا هنگام راه‌اندازی سیستم و هنگام بارگذاری مجدد پیکربندی مدیر سیستم به واحدهای بومی تبدیل خواهند شد. برای جزئیات در مورد این تبدیل، systemd-fstab-generator(8) را ببینید.

اگر یک دستگاه یا فایل swap هم در /etc/fstab و هم در یک فایل واحد پیکربندی شده باشد، پیکربندی موجود در دومی (فایل واحد) اولویت دارد.

هنگام خواندن /etc/fstab، چند گزینهٔ ویژه توسط systemd درک می‌شوند که بر نحوه ایجاد وابستگی‌ها برای واحدهای swap تأثیر می‌گذارند.

noauto, auto

با noauto، واحد swap به عنوان یک وابستگی برای swap.target (یا remote-fs.target برای دستگاه‌های swap شبکه‌ای، _netdev در زیر را ببینید) اضافه نخواهد شد. این بدان معناست که در حین راه‌اندازی سیستم به‌طور خودکار فعال نخواهد شد، مگر اینکه توسط واحد دیگری فراخوانی شود. گزینهٔ auto معنای متضادی دارد و حالت پیش‌فرض است.

در نسخه 218 اضافه شد.

nofail

با nofail، واحد swap تنها توسط swap.target (یا remote-fs.target برای دستگاه‌های swap شبکه‌ای) خواسته می‌شود (wanted) و مورد نیاز (required) نخواهد بود. این بدان معناست که حتی اگر این دستگاه swap با موفقیت فعال نشود، راه‌اندازی سیستم ادامه خواهد یافت.

در نسخه 218 اضافه شد.

x-systemd.device-timeout=

پیکربندی می‌کند که systemd پیش از صرف‌نظر کردن از یک مدخل در /etc/fstab، چه مدت باید منتظر ظاهر شدن یک دستگاه بماند. یک زمان را بر حسب ثانیه مشخص کنید یا به‌طور صریح یک واحد مانند "s" (ثانیه)، "min" (دقیقه)، "h" (ساعت)، "ms" (میلی‌ثانیه) را به آن پیوست کنید.

توجه داشته باشید که این گزینه فقط در /etc/fstab قابل استفاده است، و هنگامی که بخشی از تنظیم Options= در یک فایل واحد باشد نادیده گرفته خواهد شد.

در نسخه 215 اضافه شد.

x-systemd.makefs

ساختار swap روی دستگاه مقداردهی اولیه خواهد شد. اگر دستگاه "خالی" نباشد، یعنی شامل هرگونه امضا (signature) باشد، از این عملیات صرف‌نظر می‌شود. بنابراین انتظار می‌رود این گزینه حتی پس از مقداردهی اولیه دستگاه همچنان تنظیم‌شده باقی بماند.

توجه داشته باشید که این گزینه فقط در /etc/fstab قابل استفاده است، و هنگامی که بخشی از تنظیم Options= در یک فایل واحد باشد نادیده گرفته خواهد شد.

به systemd-mkswap@.service(8) و مبحث wipefs(8) در systemd.mount(5) مراجعه کنید.

در نسخه 240 اضافه شد.

_netdev

این دستگاه swap را به عنوان دستگاهی که نیازمند دسترسی شبکه است نشانه‌گذاری می‌کند. این برای swap روی دستگاه‌های بلوکی شبکه (مانند iSCSI) مفید است.

واحدهای swap شبکه‌ای به جای مرتب شدن قبل از swap.target، بین remote-fs-pre.target و remote-fs.target مرتب می‌شوند. آن‌ها همچنین network-online.target را فراخوانی می‌کنند و بعد از آن و network.target مرتب می‌شوند.

در نسخه 261 اضافه شد.

فایل‌های واحد swap ممکن است شامل بخش‌های [Unit] و [Install] باشند که در systemd.unit(5) توصیف شده‌اند.

فایل‌های واحد swap باید شامل یک بخش [Swap] باشند که حامل اطلاعاتی درباره دستگاه swap تحت نظارت آن است. تعدادی از گزینه‌هایی که ممکن است در این بخش استفاده شوند با سایر انواع واحدها مشترک هستند. این گزینه‌ها در systemd.exec(5)، systemd.kill(5) و systemd.resource-control(5) مستند شده‌اند. گزینه‌های ویژه بخش [Swap] واحدهای swap به شرح زیر هستند:

What=

یک مسیر مطلق یا یک شناسه به سبک fstab از یک گره دستگاه یا فایل را برای استفاده در صفحه‌بندی (paging) می‌پذیرد. برای جزئیات swapon(8) را ببینید. اگر این به یک گره دستگاه اشاره داشته باشد، یک وابستگی نسبت به واحد دستگاه مربوطه به‌طور خودکار ایجاد می‌شود. (برای اطلاعات بیشتر systemd.device(5) را ببینید.) اگر این به یک فایل اشاره داشته باشد، یک وابستگی نسبت به واحد سوار کردن (mount) مربوطه به‌طور خودکار ایجاد می‌شود. (برای اطلاعات بیشتر systemd.mount(5) را ببینید.) این گزینه اجباری است. توجه داشته باشید که بسط مشخص‌کنندهٔ معمول (specifier expansion) بر روی این تنظیم اعمال می‌شود، بنابراین نویسه‌های درصد تحت‌اللفظی باید به صورت "%%" نوشته شوند.

Priority=

اولویت swap برای استفاده هنگام فعال‌سازی دستگاه یا فایل swap. این گزینه یک مقدار عدد صحیح می‌گیرد. این تنظیم اختیاری است و زمانی که اولویت توسط pri= در کلید Options= تنظیم شده باشد، نادیده گرفته می‌شود.

Options=

ممکن است حاوی یک رشته گزینه برای دستگاه swap باشد. اگر دستگاه پشتیبان swap از عملیات discard یا trim پشتیبانی کند، این می‌تواند برای کنترل گزینه‌های discard در میان عملکردهای دیگر استفاده شود. (برای اطلاعات بیشتر swapon(8) را ببینید.) توجه داشته باشید که بسط مشخص‌کنندهٔ معمول بر روی این تنظیم اعمال می‌شود، بنابراین نویسه‌های درصد تحت‌اللفظی باید به صورت "%%" نوشته شوند.

در نسخه 217 اضافه شد.

TimeoutSec=

مدت زمان انتظار برای پایان یافتن دستور swapon را پیکربندی می‌کند. اگر دستوری در مدت زمان پیکربندی‌شده خارج نشود، swap ناموفق در نظر گرفته شده و مجدداً خاموش می‌شود. تمام دستوراتی که همچنان در حال اجرا هستند، به‌طور اجباری از طریق SIGTERM و پس از یک تاخیر دیگر به اندازه همین زمان با SIGKILL خاتمه داده می‌شوند. ( KillMode= در systemd.kill(5) را ببینید.) یک مقدار بدون واحد بر حسب ثانیه، یا یک مقدار بازه زمانی مانند "5min 20s" را می‌پذیرد. برای غیرفعال کردن منطق مهلت زمانی (timeout)، مقدار "0" را وارد کنید. مقدار پیش‌فرض آن DefaultTimeoutStartSec= از فایل پیکربندی مدیر سیستم است ( systemd-system.conf(5) را ببینید).

برای تنظیمات بیشتر، systemd.unit(5)، systemd.exec(5) و systemd.kill(5) را بررسی کنید.

systemd(1)، systemctl(1)، systemd-system.conf(5)، systemd.unit(5)، systemd.exec(5)، systemd.kill(5)، systemd.resource-control(5)، systemd.device(5)، systemd.mount(5)، swapon(8)، systemd-fstab-generator(8)، systemd.directives(7)

systemd 261.2