.\" generated with Ronn-NG/v0.10.1 .\" http://github.com/apjanke/ronn-ng/tree/0.10.1 .TH "ZRAM\-GENERATOR\.CONF" "5" "December 2024" "zram-generator developers" .SH "نام (NAME)" zram\-generator.conf \- پیکربندی تولیدکننده واحدهای systemd برای دستگاه‌های حافظه مجازی zram .SH "خلاصه دستور (SYNOPSIS)" \fB/usr/lib/systemd/zram\-generator\.conf\fR .br \fB/usr/local/lib/systemd/zram\-generator\.conf\fR .br \fB/etc/systemd/zram\-generator\.conf\fR .br \fB/run/systemd/zram\-generator\.conf\fR .P \fB/usr/lib/systemd/zram\-generator\.conf\.d/*\.conf\fR .br \fB/usr/local/lib/systemd/zram\-generator\.conf\.d/*\.conf\fR .br \fB/etc/systemd/zram\-generator\.conf\.d/*\.conf\fR .br \fB/run/systemd/zram\-generator\.conf\.d/*\.conf\fR .SH "توضیحات (DESCRIPTION)" این فایل‌ها دستگاه‌های ایجادشده توسط zram\-generator(8) را پیکربندی می‌کنند. برای توضیحات کلی درباره ساختار نحوی به systemd.syntax(5) مراجعه کنید. .SH "دایرکتوری‌های پیکربندی و اولویت‌ها (CONFIGURATION DIRECTORIES AND PRECEDENCE)" پیکربندی پیش‌فرض هیچ دستگاهی را تعیین نمی‌کند. برای مشاهده یک نمونه فایل پیکربندی به \fI/usr/share/zram\-generator/zram\-generator\.conf\.example\fR مراجعه کنید. .P هنگامی که بسته‌ها نیاز به سفارشی‌سازی پیکربندی داشته باشند، می‌توانند قطعه‌های پیکربندی را در \fI/usr/lib/systemd/zram\-generator\.conf\.d/\fR نصب کنند. فایل‌های موجود در \fI/etc/\fR برای مدیر سیستم محلی رزرو شده‌اند که می‌تواند از این منطق برای لغو یا بازنویسی فایل‌های پیکربندی ارائه‌شده توسط بسته‌های توزیع استفاده کند. فایل پیکربندی اصلی پیش از هر یک از دایرکتوری‌های پیکربندی خوانده می‌شود و کمترین اولویت را دارد؛ مدخل‌های موجود در یک فایل در هر دایرکتوری پیکربندی، مدخل‌های موجود در فایل پیکربندی منفرد را بازنویسی می‌کنند. فایل‌های موجود در زیردایرکتوری‌های پیکربندی \fI*\.conf\.d/\fR بدون در نظر گرفتن این‌که در کدام زیردایرکتوری قرار دارند، بر اساس نام فایلشان به ترتیب حروف الفبا مرتب می‌شوند. هنگامی که چندین فایل یک گزینه مشترک را تعیین کنند، برای گزینه‌هایی که تنها یک مقدار می‌پذیرند، مدخل موجود در فایلی که نام آن از نظر الفبایی دیرتر می‌آید اولویت خواهد داشت. توصیه می‌شود نام تمام فایل‌ها در این زیردایرکتوری‌ها با یک عدد دو رقمی و یک خط تیره آغاز شود تا ترتیب اولویت فایل‌ها ساده‌تر گردد. .P برای غیرفعال کردن یک فایل پیکربندی ارائه‌شده توسط توزیع، روش توصیه‌شده قرار دادن یک پیوند نمادین به \fI/dev/null\fR در دایرکتوری پیکربندی در \fI/etc/\fR با همان نام فایل پیکربندی توزیع است. .P این تولیدکننده گزینه زیر را در خط فرمان هسته تشخیص می‌دهد: \fBsystemd\.zram[=0|1]\fR. هنگامی که با مقدار درست (یا بدون آرگومان) مشخص شود، دستگاه \fBzram0\fR ایجاد خواهد شد. گزینه‌های پیش‌فرض اعمال می‌شوند، اما در صورت وجود پیکربندی روی دیسک ممکن است بازنویسی شوند. هنگامی که با مقدار نادرست مشخص شود، هیچ دستگاه zram توسط تولیدکننده ایجاد نخواهد شد. بنابراین این گزینه اولویتی بالاتر از فایل‌های پیکربندی دارد. .SH "گزینه‌ها (OPTIONS)" هر دستگاه به طور مستقل در بخش \fB[zramN]\fR خود پیکربندی می‌شود، که در آن N یک عدد صحیح غیرمنفی است. بخش سراسری ممکن است شامل \fIDIRECTIVES\fR باشد. سایر بخش‌ها نادیده گرفته می‌شوند. .P دستگاه‌هایی با اندازه نهایی \fI0\fR کنار گذاشته می‌شوند. .IP "\(bu" 4 \fBhost\-memory\-limit\fR= .IP حد بالایی را برای کل حافظه رم قابل استفاده (تعریف‌شده توسط \fIMemTotal\fR در \fB/proc/meminfo\fR، مطابق proc(5)) تعیین می‌کند که فراتر از آن، دستگاه ایجاد \fIنخواهد\fR شد. .IP این گزینه یک عدد غیرمنفی که نشان‌دهنده حد برحسب مگابایت است، یا رشته حرفی \fInone\fR را می‌پذیرد که می‌تواند برای لغو حدی که قبلاً تنظیم شده به کار رود. .IP پیش‌فرض \fInone\fR است. .IP "\(bu" 4 \fBzram\-size\fR= .IP اندازه دستگاه zram را به عنوان تابعی از \fIMemTotal\fR (در دسترس به عنوان متغیر \fBram\fR) تعیین می‌کند. متغیرهای اضافی ممکن است توسط \fIDIRECTIVES\fR ارائه شوند. .IP عملگرهای ریاضی (^%/*\-+)، عدد e، عدد π، پسوندهای SI، توابع مثلثاتی و توابع ()log()، int()، ceil()، floor()، round()، abs()، min()، max پشتیبانی می‌شوند. .IP پیش‌فرض \fImin(ram / 2, 4096)\fR است. .IP "\(bu" 4 \fBzram\-resident\-limit\fR= .IP حداکثر حد حافظه مقیم دستگاه zram (یا \fI0\fR برای عدم وجود محدودیت) را به عنوان تابعی از \fIMemTotal\fR (در دسترس به عنوان متغیر \fBram\fR) تنظیم می‌کند. .IP قالب یکسانی با \fBzram\-size\fR دارد. پیش‌فرض \fI0\fR است. .IP "\(bu" 4 \fBcompression\-algorithm\fR= .IP الگوریتم مورد استفاده برای فشرده‌سازی دستگاه zram را مشخص می‌کند. .IP یک رشته فهرست جداشده با فاصله را می‌پذیرد که نشان‌دهنده الگوریتم‌های مورد استفاده و پارامترهای درون پرانتز است. .br برای فهرستی از الگوریتم‌های فشرده‌سازی بارگذاری‌شده فعلی به \fI/sys/block/zram0/comp_algorithm\fR (و \fI\|\.\|\.\|\./recomp_algorithm\fR) مراجعه کنید، اما توجه داشته باشید که الگوریتم‌های اضافی ممکن است بر حسب تقاضا بارگذاری شوند. .IP در صورت تنظیم نشدن، هیچ الگوریتمی پیکربندی نمی‌شود و از پیش‌فرض هسته استفاده خواهد شد. .br اگر بیش از یک مورد مشخص شود و فشرده‌سازی مجدد (recompression) در هسته فعال باشد، موارد بعدی به عنوان الگوریتم‌های فشرده‌سازی مجدد با اولویت کاهشی تنظیم می‌شوند. .IP اگر پس از یک الگوریتم فشرده‌سازی، فهرستی از پارامترها درون پرانتز و جداشده با کاما بیاید، آن پارامترها به \fB\|\.\|\.\|\./algorithm_params\fR (و \fB\|\.\|\.\|\./recompress\fR) داده می‌شوند. یک فهرست پارامتر درون پرانتز \fIبدون\fR نام الگوریتم فشرده‌سازی، به عنوان پارامترهای سراسری فشرده‌سازی مجدد تنظیم خواهد شد. .IP "\(bu" 4 \fBwriteback\-device\fR= .IP صفحات غیرقابل‌فشرده‌سازی را که سودی از فشرده‌سازی نبرده‌اند، در شرایط کمبود حافظه به دستگاه مشخص‌شده منتقل می‌کند (writeback). این متناظر با پارامتر \fI/sys/block/zramX/backing_dev\fR است. .IP مسیری به یک دستگاه بلوکی مانند \fI/dev/disk/by\-partuuid/2d54ffa0\-01\fR یا \fI/dev/zvol/tarta\-zoot/swap\-writeback\fR را می‌پذیرد. .IP در صورت عدم تنظیم، از هیچ دستگاهی استفاده نمی‌شود و صفحات غیرقابل‌فشرده‌سازی در RAM نگه داشته می‌شوند. .IP "\(bu" 4 \fBswap\-priority\fR= .IP اولویت نسبی فضای تعویض (swap) را کنترل می‌کند، مقداری بین \-1 و 32767. اعداد بالاتر نشان‌دهنده اولویت بیشتر هستند. .IP در صورت عدم تعیین، مقدار 100 استفاده می‌شود. .IP "\(bu" 4 \fBmount\-point\fR= .IP دستگاه را با یک سیستم‌فایل قالب‌بندی کرده (نه به عنوان سواپ) و این سیستم‌فایل را روی دایرکتوری مشخص‌شده سوار (mount) می‌کند. هنگامی که نه این گزینه و نه \fBfs\-type\fR= مشخص نشده باشند، دستگاه به عنوان سواپ قالب‌بندی می‌شود. .IP توجه داشته باشید که این دستگاه موقتی است: پس از پیاده شدن (unmount) سیستم‌فایل، محتویات آن به صورت خودکار نابود می‌شود (تا حافظه پشتیبان آزاد گردد). .IP "\(bu" 4 \fBfs\-type\fR= .IP نحوه قالب‌بندی دستگاه را مشخص می‌کند. در صورتی که \fBmount\-point\fR مشخص شده باشد پیش‌فرض \fIext2\fR و در غیر این صورت \fIswap\fR است. (در عمل، اگر نه \fBfs\-type\fR= و نه \fBmount\-point\fR= مشخص نشوند، دستگاه به صورت سواپ قالب‌بندی خواهد شد.) .IP توجه داشته باشید که این دستگاه موقتی است: پس از پیاده شدن سیستم‌فایل، محتویات به صورت خودکار نابود می‌شوند (تا حافظه آزاد گردد). .IP همچنین systemd\-makefs(8) را مشاهده کنید. .IP "\(bu" 4 \fBoptions\fR= .IP گزینه‌های mount یا swapon را تعیین می‌کند. در دسترس بودن گزینه‌ها به \fBfs\-type\fR بستگی دارد. .IP پیش‌فرض \fIdiscard\fR است. .IP "" 0 .SH "دستورالعمل‌ها (DIRECTIVES)" بخش سراسری (پیش از هر هدر بخش) ممکن است شامل دستورالعمل‌هایی به شکل زیر باشد: .IP "\(bu" 4 \fBset!\fR\fIvariable\fR=\fIprogram\fR .IP برنامه \fIprogram\fR توسط شل همانند تابع (3)system اجرا شده، جریان خروجی استاندارد آن به عنوان یک عبارت محاسباتی (مانند \fBzram\-size\fR/\fBzram\-resident\-limit\fR) پردازش می‌شود، سپس نتیجه در متغیر \fIvariable\fR ذخیره شده و در دستورات بعدی !set و گزینه‌های zram\-size / zram\-resident\-limit قابل استفاده خواهد بود. .IP "" 0 .SH "متغیرهای محیطی (ENVIRONMENT VARIABLES)" تنظیم متغیر \fBZRAM_GENERATOR_ROOT\fR هنگام پردازش سبب می‌شود فایل \fI/proc/meminfo\fR از مسیر \fI$ZRAM_GENERATOR_ROOT/proc/meminfo\fR خوانده شود و مسیرهای پیکربندی \fI{/usr/lib,/usr/local/lib,/etc,/run}/systemd/zram\-generator\.conf\fR از مسیر \fI$ZRAM_GENERATOR_ROOT/{/usr/lib,/usr/local/lib,/etc,/run}/systemd/zram\-generator\.conf\fR بارگذاری گردند. .SH "مثال‌ها (EXAMPLES)" پیکربندی پیش‌فرض نتیجه زیر را به همراه خواهد داشت: .IP "" 4 .nf zram device size ^ │ 4G>│ ooooooooooooo │ o │ o │ o 2G>│ o │ o │ o 512M>│ o 0───────────────────────> total usable RAM ^ ^ ^ 1G 4G 8G .fi .IP "" 0 .P یک اندازه خطی تکه‌ای ۱:۱ برای اولین ۴ گیگابایت، و سپس ۱:۲ برای مقادیر بالاتر، تا حداکثر ۳۲ گیگابایت: .br \~\~\fBzram\-size = min(min(ram, 4096) + max(ram \- 4096, 0) / 2, 32 * 1024)\fR .IP "" 4 .nf zram device size ^ 32G>| oooooooooooooo | o 30G>| o | /=/ | 8G>│ o │ o │ o │ o │ o 4G>│ o │ o │ o 1G>│ o 0───────────────────────────────────||──────────────────────> total usable RAM ^ ^ ^ ^ ^ ^ ^ 1G 4G 8G 12G 56G 60G 64G .fi .IP "" 0 .SH "گزینه‌های منسوخ‌شده (OBSOLETE OPTIONS)" .IP "\(bu" 4 \fBmemory\-limit\fR= .IP نام مستعار سازگاری برای \fBhost\-memory\-limit\fR. .IP "\(bu" 4 \fBzram\-fraction\fR= .IP ضریب مقیاس اندازه دستگاه zram را نسبت به کل رم قابل استفاده تعیین می‌کند. .IP یک عدد اعشاری غیرمنفی را که نشان‌دهنده آن ضریب است می‌پذیرد. .IP پیش‌فرض قبلی \fI0\.5\fR بود. تنظیم این گزینه یا \fBmax\-zram\-size\fR باعث لغو و نادیده گرفتن \fBzram\-size\fR می‌شود. .IP "\(bu" 4 \fBmax\-zram\-size\fR= .IP حداکثر اندازه دستگاه zram حاصل از \fBzram\-fraction\fR را تنظیم می‌کند. .IP این گزینه یک عدد غیرمنفی که نشان‌دهنده آن حد برحسب مگابایت است، یا رشته حرفی \fInone\fR را می‌پذیرد که می‌تواند برای لغو حدی که قبلاً تعیین شده بود استفاده شود. .IP پیش‌فرض قبلی \fI4096\fR بود. تنظیم این گزینه یا \fBzram\-fraction\fR باعث نادیده گرفتن \fBzram\-size\fR می‌شود. .IP "" 0 .SH "گزارش باگ‌ها (REPORTING BUGS)" \fIhttps://github\.com/systemd/zram\-generator/issues\fR .SH "همچنین ببینید (SEE ALSO)" zram\-generator(8), systemd\.syntax(5), proc(5) .P \fIhttps://github\.com/systemd/zram\-generator\fR .P مستندات لینوکس درباره zram: \fIhttps://kernel\.org/doc/html/latest/admin\-guide/blockdev/zram\.html\fR .br و مشخصات sysfs ABI مربوط به zram: \fIhttps://kernel\.org/doc/Documentation/ABI/testing/sysfs\-block\-zram\fR .P مستندات \fBfasteval\fR برای کل زبان اختصاصی محاسباتی \fBzram\-size\fR: \fIhttps://docs\.rs/fasteval/0\.2\.4/fasteval/#the\-fasteval\-expression\-mini\-language\fR