CHOOM(1) User Commands CHOOM(1)

choom - نمایش و تنظیم امتیاز قاتل کمبود حافظه (OOM) برای یک فرایند

choom -p PID

choom -p PID -n number

choom -n number [--] command [argument ...]

دستور choom تنظیمات امتیاز قاتل کمبود حافظه (Out-Of-Memory killer) را نمایش داده و تنظیم می‌کند.

-p, --pid pid

شناسه فرایند (PID) را مشخص می‌کند.

-n, --adjust value

مقدار امتیاز تنظیمی را مشخص می‌کند.

-h, --help

نمایش متن راهنما و خروج.

-V, --version

نمایش نسخه و خروج.

هسته لینوکس از روش اکتشافی سنجش نامناسبی (badness heuristic) برای انتخاب فرایندی که در شرایط کمبود حافظه باید خاتمه یابد (کشته شود) استفاده می‌کند.

روش اکتشافی سنجش نامناسبی مقداری بین 0 (هرگز کشته نشود) تا 1000 (همیشه کشته شود) را به هر تسک کاندید اختصاص می‌دهد تا مشخص کند کدام فرایند هدف قرار گیرد. واحدها تقریباً به صورت نسبتی در آن بازه از حافظه مجاز که فرایند می‌تواند بر اساس برآوردی از مصرف حافظه و فضای مبادله (swap) فعلی خود تخصیص دهد محاسبه می‌شوند. به عنوان مثال، اگر یک تسک از تمام حافظه مجاز استفاده کند، امتیاز نامناسبی آن 1000 خواهد بود. اگر از نیمی از حافظه مجاز خود استفاده کند، امتیاز آن 500 خواهد بود.

یک فاکتور اضافی در امتیاز نامناسبی لحاظ شده است: میزان مصرف حافظه و فضای مبادله (swap) فعلی برای فرایندهای ریشه (root) به میزان ۳٪ تخفیف داده می‌شود.

میزان حافظه «مجاز» به زمینه‌ای که قاتل OOM در آن فراخوانی شده است بستگی دارد. اگر به دلیل اتمام حافظه اختصاص‌یافته به cpuset تسک تخصیص‌دهنده باشد، حافظه مجاز نشان‌دهنده مجموعه حافظه‌های اختصاص‌یافته به آن cpuset است. اگر به دلیل اتمام گره(های) یک mempolicy باشد، حافظه مجاز نشان‌دهنده مجموعه گره‌های mempolicy است. اگر به دلیل رسیدن به محدودیت حافظه (یا محدودیت swap) باشد، حافظه مجاز همان محدودیت پیکربندی‌شده است. در نهایت، اگر به دلیل کمبود حافظه در کل سیستم باشد، حافظه مجاز نشان‌دهنده تمام منابع قابل تخصیص است.

مقدار امتیاز تنظیمی پیش از تعیین تسک مورد نظر برای خاتمه، به امتیاز نامناسبی افزوده می‌شود. مقادیر مجاز در بازه -1000 تا +1000 قرار دارند. این امر به فضای کاربری (userspace) اجازه می‌دهد تا ترجیح قاتل OOM را با انتخاب همیشگی یک تسک مشخص یا غیرفعال کردن کامل آن قطبی کند. کمترین مقدار ممکن، یعنی -1000، معادل غیرفعال کردن کامل قاتل OOM برای آن تسک است، زیرا امتیاز نامناسبی همیشه 0 گزارش خواهد شد.

به عنوان مثال، تنظیم مقدار امتیاز تنظیمی روی +500 تقریباً معادل این است که به سایر تسک‌های مشترک در همان منابع سیستم، cpuset، mempolicy یا کنترل‌کننده حافظه اجازه داده شود تا حداقل ۵۰٪ حافظه بیشتری استفاده کنند. از سوی دیگر، مقدار -500 تقریباً معادل کسر کردن ۵۰٪ از حافظه مجاز تسک از محاسبه امتیاز علیه آن تسک خواهد بود.

Karel Zak <kzak@redhat.com>

proc(5)

برای گزارش اشکال، از سامانه پیگیری مشکلات https://github.com/util-linux/util-linux/issues.

دستور choom بخشی از بسته util-linux است که می‌تواند از بایگانی هسته لینوکس https://www.kernel.org/pub/linux/utils/util-linux. دانلود شود.

2026-06-16 util-linux 2.41.5