dwww Home | Manual pages | Find package

proc_pid_oom_score_adj(5)     File Formats Manual     proc_pid_oom_score_adj(5)

NAME
       /proc/pid/oom_score_adj - OOM-killer score adjustment

DESCRIPTION
       /proc/pid/oom_score_adj (since Linux 2.6.36)
              This file can be used to adjust the badness heuristic used to se-
              lect 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: root
              processes are given 3% extra memory over other tasks.

              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 mem-
              ory represents the set of  mems  assigned  to  that  cpuset  (see
              cpuset(7)).   If  it  is  due  to a mempolicy's node(s) being ex-
              hausted, 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 al-
              lowed memory represents all allocatable resources.

              The value of oom_score_adj is added to the badness  score  before
              it  is  used  to determine which task to kill.  Acceptable values
              range     from     -1000     (OOM_SCORE_ADJ_MIN)     to     +1000
              (OOM_SCORE_ADJ_MAX).  This allows user space to control the pref-
              erence  for OOM-killing, ranging from always preferring a certain
              task or completely disabling it  from  OOM-killing.   The  lowest
              possible value, -1000, is equivalent to disabling OOM-killing en-
              tirely for that task, since it will always report a badness score
              of 0.

              Consequently,  it  is  very  simple  for user space to define the
              amount  of  memory  to  consider  for  each  task.   Setting   an
              oom_score_adj  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  mem-
              ory from being considered as scoring against the task.

              For     backward    compatibility    with    previous    kernels,
              /proc/pid/oom_adj can still be used to tune  the  badness  score.
              Its value is scaled linearly with oom_score_adj.

              Writing  to  /proc/pid/oom_score_adj  or  /proc/pid/oom_adj  will
              change the other with its scaled value.

              The choom(1) program provides a command-line  interface  for  ad-
              justing  the  oom_score_adj value of a running process or a newly
              executed command.

HISTORY
       /proc/pid/oom_adj (since Linux 2.6.11)
              This file can be used to adjust the score used  to  select  which
              process  should  be  killed  in an out-of-memory (OOM) situation.
              The kernel uses this value  for  a  bit-shift  operation  of  the
              process's  oom_score  value: valid values are in the range -16 to
              +15, plus the special value -17, which disables OOM-killing alto-
              gether for this process.  A positive score increases the  likeli-
              hood  of  this process being killed by the OOM-killer; a negative
              score decreases the likelihood.

              The default value for this file is 0; a new process inherits  its
              parent's   oom_adj   setting.    A  process  must  be  privileged
              (CAP_SYS_RESOURCE) to update this file, although  a  process  can
              always increase its own oom_adj setting (since Linux 2.6.20).

              Since  Linux  2.6.36,  use of this file is deprecated in favor of
              /proc/pid/oom_score_adj, and finally removed in Linux 3.7.

SEE ALSO
       proc(5), proc_pid_oom_score(5)

Linux man-pages 6.9.1              2024-05-02         proc_pid_oom_score_adj(5)

Generated by dwww version 1.16 on Tue Dec 16 14:11:26 CET 2025.