NAME | SYNOPSIS | DESCRIPTION | OPTIONS | NOTES | AUTHORS | SEE ALSO | AVAILABILITY | COLOPHON

CHOOM(1)                        User Commands                       CHOOM(1)

NAME         top

       choom - display and adjust OOM-killer score.

SYNOPSIS         top

       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
              Display version information 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)

AVAILABILITY         top

       The choom command is part of the util-linux package and is available
       from Linux Kernel Archive 
       ⟨https://www.kernel.org/pub/linux/utils/util-linux/⟩.

COLOPHON         top

       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
       2018-10-29.  (At that time, the date of the most recent commit that
       was found in the repository was 2018-10-24.)  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                       April 2018                         CHOOM(1)