| ZRAM-GENERATOR(8) | System Manager's Manual | ZRAM-GENERATOR(8) |
نام (NAME)
zram-generator - مولد واحدهای systemd برای دستگاههای سواپ zram
خلاصه دستور (SYNOPSIS)
/usr/lib/systemd/system-generators/zram-generator
TARGET_DIR [2RGET_DIR 3RGET_DIR]
/usr/lib/systemd/system-generators/zram-generator --setup-device
DEVICE
/usr/lib/systemd/system-generators/zram-generator --reset-device
DEVICE
توضیحات (DESCRIPTION)
دستور zram-generator یک مولد است که واحدهای systemd را برای قالببندی و استفاده از دستگاههای رم فشردهشده (compressed RAM)، چه به عنوان فضای مبادله (swap) یا سیستم فایل ایجاد میکند.
این مولد در مراحل اولیه راهاندازی سیستم (boot) توسط systemd فراخوانی میشود و سپس کارهای زیر را انجام میدهد:
- 1.
- خواندن فایلهای پیکربندی از {/etc,/lib}/systemd/zram-generator.conf[.d] (برای جزئیات به zram-generator.conf(5) مراجعه کنید)؛
- 2.
- تولید واحدهای systemd.swap(5) و/یا systemd.mount(5) در TARGET_DIR و اتصال آنها به swap.target یا local-fs.target بر حسب نیاز؛
- 3.
- اطمینان از بارگذاری ماژول zram و ایجاد دستگاههای درخواستی.
اگر این مولد درون یک کانتینر اجرا شود (که توسط systemd-detect-virt(8) --container مشخص میشود)، هیچ کاری انجام نمیدهد.
این مولد همچنین گزینه خط فرمان هسته systemd.zram را درک میکند. برای جزئیات به zram-generator.conf(5) مراجعه کنید.
تنظیم
متغیر
محیطی ZRAM_GENERATOR_ROOT
باعث
میشود
مولد در
حالت
آزمایشی
اجرا شود که
در این صورت
کانتینریسازی
نادیده
گرفته شده و
گام 3 رد
میشود.
برای
پیامدهای
ZRAM_GENERATOR_ROOT بر
مدیریت
پیکربندی،
به zram-generator.conf(5)
مراجعه
کنید.
واحدهای تولیدشده dev-zramN.swap به سرویس systemd-zram-setup@zramN.service وابسته هستند که اقدامات زیر را انجام میدهد:
- 1.
- خواندن فایلهای پیکربندی از {/etc,/lib}/systemd/zram-generator.conf[.d] (برای جزئیات به zram-generator.conf(5) مراجعه کنید)؛
- 2.
- تنظیم الگوریتم فشردهسازی مورد نظر (در صورت تعیین)؛ اگر هسته فعلی الگوریتم مشخصشده را نشناسد، یک هشدار صادر میشود اما اجرا ادامه مییابد؛
- 3.
- تنظیم اندازه مورد نظر دستگاه بلوکی (blockdev) و قالببندی آن به عنوان سواپ با استفاده از systemd-makefs(8).
واحدهای تولیدشده path-to-mount-point.mount به سرویس systemd-zram-setup@zramN.service وابسته هستند. تأثیر آن مشابه واحدهای سواپ است، با این تفاوت که با یک سیستم فایل قالببندی میشوند.
هنگامی که واحد متوقف میشود، دستگاه zram بازنشانی شده، حافظه آزاد میشود و امکان استفاده مجدد از دستگاه فراهم میگردد.
ابزار zram-generator رابط systemd.generator(7) را پیادهسازی میکند.
اعمال تغییرات پیکربندی (Applying config changes)
این مولد در مراحل اولیه بوت فراخوانی میشود و دستگاههایی که پیکربندی میکند نیز خیلی زود ایجاد میشوند؛ بنابراین سادهترین راه برای اعمال تغییرات پیکربندی، راهاندازی مجدد (reboot) سیستم است.
با این وجود، گاهی ممکن است افزودن دستگاههای جدید یا اعمال تغییرات پیکربندی در زمان اجرا مفید باشد. اعمال پیکربندی جدید به معنای راهاندازی مجدد واحدها است و این به نوبه خود به معنای بازتولید دستگاههای zram خواهد بود. این بدان معناست که سیستمهای فایل موقتاً از حالت اتصال خارج شده و محتوای آنها از دست میرود و صفحات حافظه از دستگاه سواپ فشرده خارج شده و به بخشهای دیگر حافظه منتقل میشوند. اگر این پیامد قابل قبول باشد، میتوان از دستور systemctl restart systemd-zram-setup@zramN یا systemctl restart systemd-zram-setup@* برای بازتولید یک دستگاه خاص یا تمام دستگاههای پیکربندیشده استفاده کرد. (اگر دستگاه از قبل وجود نداشته باشد، دستور restart آن را ایجاد خواهد کرد.) اگر نحوه استفاده از دستگاه (مانند نقطه اتصال یا نوع سیستم فایل) تغییر کند، ابتدا باید systemctl daemon-reload فراخوانی شود تا واحدهای systemd بازتولید شوند. اگر یک دستگاه یا نقطه اتصال از پیکربندی حذف شود، واحد باید قبل از اجرای daemon-reload متوقف گردد؛ در غیر این صورت systemd روش متوقف کردن صحیح واحد را نخواهد دانست.
گزارش باگها (REPORTING BUGS)
همچنین ببینید (SEE ALSO)
zram-generator.conf(5), systemd.generator(7), systemd.swap(5)
https://github.com/systemd/zram-generator
مستندات
لینوکس
درباره zram:
https://kernel.org/doc/html/latest/admin-guide/blockdev/zram.html
و رابط
کاربری sysfs ABI
مربوط به zram:
https://kernel.org/doc/Documentation/ABI/testing/sysfs-block-zram
| December 2024 | zram-generator developers |