choom(1) — Linux manual page

NAME | DESCRIPTION | OPTIONS | NOTES | AUTHORS | SEE ALSO | REPORTING BUGS | AVAILABILITY

CHOOM(1)                      User Commands                      CHOOM(1)

NAME         top

       choom - display and adjust OOM-killer score.

       choom -p PID

       choom -p PID -n number

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

DESCRIPTION         top

       The choom command displays and adjusts Out-Of-Memory killer score
       setting.

OPTIONS         top

       -p, --pid pid
           Specifies process ID.

       -n, --adjust value
           Specify the adjust score value.

       -h, --help
           Display help text and exit.

       -V, --version
           Print version and exit.

NOTES         top

       Linux kernel uses the badness heuristic to select which process
       gets killed in out of memory conditions.

       The badness heuristic assigns a value to each candidate task
       ranging from 0 (never kill) to 1000 (always kill) to determine
       which process is targeted. The units are roughly a proportion
       along that range of allowed memory the process may allocate from
       based on an estimation of its current memory and swap use. For
       example, if a task is using all allowed memory, its badness score
       will be 1000. If it is using half of its allowed memory, its score
       will be 500.

       There is an additional factor included in the badness score: the
       current memory and swap usage is discounted by 3% for root
       processes.

       The amount of "allowed" memory depends on the context in which the
       oom killer was called. If it is due to the memory assigned to the
       allocating task’s cpuset being exhausted, the allowed memory
       represents the set of mems assigned to that cpuset. If it is due
       to a mempolicy’s node(s) being exhausted, the allowed memory
       represents the set of mempolicy nodes. If it is due to a memory
       limit (or swap limit) being reached, the allowed memory is that
       configured limit. Finally, if it is due to the entire system being
       out of memory, the allowed memory represents all allocatable
       resources.

       The adjust score value is added to the badness score before it is
       used to determine which task to kill. Acceptable values range from
       -1000 to +1000. This allows userspace to polarize the preference
       for oom killing either by always preferring a certain task or
       completely disabling it. The lowest possible value, -1000, is
       equivalent to disabling oom killing entirely for that task since
       it will always report a badness score of 0.

       Setting an adjust score value of +500, for example, is roughly
       equivalent to allowing the remainder of tasks sharing the same
       system, cpuset, mempolicy, or memory controller resources to use
       at least 50% more memory. A value of -500, on the other hand,
       would be roughly equivalent to discounting 50% of the task’s
       allowed memory from being considered as scoring against the task.

AUTHORS         top

       Karel Zak <kzak@redhat.com>

SEE ALSO         top

       proc(5)

REPORTING BUGS         top

       For bug reports, use the issue tracker
       <https://github.com/util-linux/util-linux/issues>.

AVAILABILITY         top

       The choom command is part of the util-linux package which can be
       downloaded from Linux Kernel Archive
       <https://www.kernel.org/pub/linux/utils/util-linux/>. This page is
       part of the util-linux (a random collection of Linux utilities)
       project. Information about the project can be found at 
       ⟨https://www.kernel.org/pub/linux/utils/util-linux/⟩. If you have a
       bug report for this manual page, send it to
       util-linux@vger.kernel.org. This page was obtained from the
       project's upstream Git repository
       ⟨git://git.kernel.org/pub/scm/utils/util-linux/util-linux.git⟩ on
       2025-02-02. (At that time, the date of the most recent commit that
       was found in the repository was 2025-01-30.) If you discover any
       rendering problems in this HTML version of the page, or you
       believe there is a better or more up-to-date source for the page,
       or you have corrections or improvements to the information in this
       COLOPHON (which is not part of the original manual page), send a
       mail to man-pages@man7.org

util-linux 2.41.devel-938-0a... 2025-01-15                       CHOOM(1)

Pages that refer to this page: proc_pid_oom_score_adj(5)