'\" t .TH "SYSTEMD\-OOMD\&.SERVICE" "8" "" "systemd 261.2" "systemd-oomd.service" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "نام (NAME)" systemd-oomd.service, systemd-oomd \- کشنده کمبود حافظه (OOM) در فضای کاربری .SH "خلاصه دستور (SYNOPSIS)" .PP systemd\-oomd\&.service .PP /usr/lib/systemd/systemd\-oomd .SH "توضیحات (DESCRIPTION)" .PP \fBsystemd\-oomd\fR یک سرویس سیستمی است که از cgroups\-v2 و اطلاعات توقف ناشی از فشار (PSI) برای نظارت و انجام اقدامات اصلاحی پیش از وقوع کمبود حافظه (OOM) در فضای هسته استفاده می‌کند\&. .PP شما می‌توانید با تنظیم \fIManagedOOMSwap=\fR و \fIManagedOOMMemoryPressure=\fR در پیکربندی واحد، نظارت و اقدامات را بر روی واحدها فعال کنید؛ ببینید \fBsystemd.resource-control\fR(5)\&. \fBsystemd\-oomd\fR هنگام راه‌اندازی، اطلاعات مربوط به چنین واحدهایی را از \fBsystemd\fR(1) دریافت کرده و تغییرات بعدی آن‌ها را زیر نظر می‌گیرد\&. .PP گروه‌های کنترلی (cgroups) واحدهایی که \fIManagedOOMSwap=\fR یا \fIManagedOOMMemoryPressure=\fR در آن‌ها روی \fBkill\fR تنظیم شده باشد، نظارت خواهند شد\&. \fBsystemd\-oomd\fR به‌طور دوره‌ای آمارهای PSI را برای سیستم و آن cgroupها بررسی می‌کند تا زمان اقدام را تعیین نماید\&. اگر از محدودیت‌های پیکربندی‌شده فراتر رود، \fBsystemd\-oomd\fR یک cgroup را برای خاتمه انتخاب کرده و سیگنال \fBSIGKILL\fR را به تمام فرآیندهای درون آن ارسال می‌کند\&. توجه داشته باشید که تنها cgroupهای نواده (فرزند) نامزدهای واجد شرایط برای خاتمه هستند؛ واحدی که ویژگی آن روی \fBkill\fR تنظیم شده است خود یک نامزد نیست (مگر اینکه یکی از نیاکان آن ویژگی خود را روی \fBkill\fR تنظیم کرده باشد)\&. همچنین فقط cgroupهای برگ (leaf) و cgroupهایی با memory\&.oom\&.group تنظیم‌شده روی \fB1\fR نامزدهای واجد شرایط هستند؛ ببینید \fIOOMPolicy=\fR در \fBsystemd.service\fR(5)\&. .PP از \fBoomctl\fR(1) می‌توان برای فهرست کردن cgroupهای تحت نظارت و اطلاعات فشار استفاده کرد\&. .PP برای اطلاعات بیشتر درباره پیکربندی این سرویس، \fBoomd.conf\fR(5) را ببینید\&. .PP برای شرح API مربوط به D\-Bus، \fBorg.freedesktop.oom1\fR(5) و \fBorg.freedesktop.LogControl1\fR(5) را ببینید\&. .SH "نیازمندی‌های سیستم و پیکربندی (SYSTEM REQUIREMENTS AND CONFIGURATION)" .PP سیستم باید در حال اجرای systemd با سلسله‌مراتب یکپارچه کامل cgroup باشد تا قابلیت‌های مورد انتظار cgroups\-v2 فراهم شوند\&. علاوه بر این، محاسبه مصرف حافظه (memory accounting) باید برای تمام واحدهای تحت نظارت \fBsystemd\-oomd\fR فعال باشد\&. ساده‌ترین راه برای فعال‌سازی محاسبه حافظه، اطمینان از تنظیم مقدار \fIDefaultMemoryAccounting=\fR روی \fBtrue\fR در \fBsystemd-system.conf\fR(5) است\&. .PP هسته باید با پشتیبانی از PSI کامپایل شده باشد\&. این قابلیت در لینوکس 4\&.20 و بالاتر در دسترس است\&. .PP اکیداً توصیه می‌شود که حافظه مبادله (swap) روی سیستم فعال باشد تا \fBsystemd\-oomd\fR به‌طور بهینه عمل کند\&. با فعال بودن swap، سیستم زمان کافی را برای جابه‌جایی صفحات حافظه (swapping pages) صرف می‌کند تا به \fBsystemd\-oomd\fR امکان واکنش داده شود\&. بدون swap، سیستم بسیار سریع‌تر وارد وضعیت قفل زنده (livelock) می‌شود و ممکن است مانع از پاسخگویی \fBsystemd\-oomd\fR در یک بازه زمانی معقول گردد\&. برای جزئیات بیشتر درباره swap به \m[blue]\fB"In defence of swap: common misconceptions"\fR\m[]\&\s-2\u[1]\d\s+2 مراجعه کنید\&. هرگونه اقدام مبتنی بر swap در سیستم‌های بدون swap نادیده گرفته خواهد شد\&. اگرچه \fBsystemd\-oomd\fR می‌تواند اقدامات مبتنی بر فشار را در چنین سیستمی انجام دهد، افزایش فشار ناگهانی‌تر خواهد بود و ممکن است برای دستیابی به آستانه‌ها و رفتار مطلوب نیاز به تنظیمات بیشتری داشته باشد\&. .PP توجه داشته باشید که اگر قصد دارید نظارت و اقدامات را بر روی user\&.slice، user\-$UID\&.slice یا cgroupهای نیاکان آن‌ها فعال کنید، اکیداً توصیه می‌شود که برنامه‌های شما توسط مدیر کاربر systemd مدیریت شوند تا از اجرای فرآیندهای بیش از حد در یک محدوده نشست (session scope) یکسان جلوگیری شود (و بدین ترتیب از وضعیتی که در آن وظایف با مصرف حافظه بالا باعث می‌شوند \fBsystemd\-oomd\fR تمام موارد زیر مجموعه آن cgroup را خاتمه دهد، پیشگیری گردد)\&. اگر از یک محیط رومیزی مانند GNOME یا KDE استفاده می‌کنید، این محیط‌ها پیشاپیش بسیاری از اجزای نشست را با مدیر کاربر systemd اجرا می‌کنند\&. .SH "توصیه‌های استفاده (USAGE RECOMMENDATIONS)" .PP \fIManagedOOMSwap=\fR با مقادیر swap در سطح کل سیستم کار می‌کند، بنابراین تنظیم آن روی برش ریشه (root slice) \-\&.slice، و مجاز دانستن تمام cgroupهای فرزند به عنوان نامزدهای واجد شرایط، بیشترین توجیه را دارد\&. .PP \fIManagedOOMMemoryPressure=\fR معمولاً روی cgroupهای زیر برش ریشه عملکرد بهتری دارد\&. برای واحدهایی که فرآیندهای آن‌ها حساسیت کمتری به تأخیر دارند (مانند system\&.slice)، یک حد بالاتر مانند مقدار پیش‌فرض 60% ممکن است قابل قبول باشد، زیرا این فرآیندها معمولاً می‌توانند کندی‌های ناشی از کمبود حافظه را بدون پیامدهای جدی پشت سر بگذارند\&. با این حال، مواردی مانند user@$UID\&.service ممکن است به مقدار بسیار کمتری مانند 40% نیاز داشته باشند\&. .SH "گزینه‌ها (OPTIONS)" .PP \fB\-\-dry\-run\fR .RS 4 یک اجرای آزمایشی از \fBsystemd\-oomd\fR انجام می‌دهد: هنگامی که یک عملیات خاتمه فعال می‌شود، به جای پایان دادن به cgroup، آن را در گزارش ثبت می‌کند\&. .sp افزوده شده در نسخه 253\&. .RE .PP \fB\-h\fR, \fB\-\-help\fR .RS 4 یک متن راهنمای کوتاه را چاپ کرده و خارج می‌شود\&. .RE .PP \fB\-\-version\fR .RS 4 یک رشته نسخه کوتاه را چاپ کرده و خارج می‌شود\&. .RE .SH "سیگنال‌ها (SIGNALS)" .PP \fBSIGHUP\fR .RS 4 به محض دریافت سیگنال فرآیند \fBSIGHUP\fR، \fBsystemd\-oomd\fR فایل پیکربندی خود را دوباره بارگذاری خواهد کرد\&. .sp افزوده شده در نسخه 258\&. .RE .SH "همچنین ببینید (SEE ALSO)" .PP \fBsystemd\fR(1), \fBsystemd-system.conf\fR(5), \fBsystemd.resource-control\fR(5), \fBoomd.conf\fR(5), \fBoomctl\fR(1), \fBorg.freedesktop.oom1\fR(5) .SH "یادداشت‌ها (NOTES)" .IP " 1." 4 "In defence of swap: common misconceptions" .RS 4 \%https://chrisdown.name/2018/01/02/in-defence-of-swap.html .RE