|
@@ -0,0 +1,22 @@
|
|
|
+What: /proc/<pid>/oom_adj
|
|
|
+When: August 2012
|
|
|
+Why: /proc/<pid>/oom_adj allows userspace to influence the oom killer's
|
|
|
+ badness heuristic used to determine which task to kill when the kernel
|
|
|
+ is out of memory.
|
|
|
+
|
|
|
+ The badness heuristic has since been rewritten since the introduction of
|
|
|
+ this tunable such that its meaning is deprecated. The value was
|
|
|
+ implemented as a bitshift on a score generated by the badness()
|
|
|
+ function that did not have any precise units of measure. With the
|
|
|
+ rewrite, the score is given as a proportion of available memory to the
|
|
|
+ task allocating pages, so using a bitshift which grows the score
|
|
|
+ exponentially is, thus, impossible to tune with fine granularity.
|
|
|
+
|
|
|
+ A much more powerful interface, /proc/<pid>/oom_score_adj, was
|
|
|
+ introduced with the oom killer rewrite that allows users to increase or
|
|
|
+ decrease the badness() score linearly. This interface will replace
|
|
|
+ /proc/<pid>/oom_adj.
|
|
|
+
|
|
|
+ A warning will be emitted to the kernel log if an application uses this
|
|
|
+ deprecated interface. After it is printed once, future warnings will be
|
|
|
+ suppressed until the kernel is rebooted.
|