CHOOM(1)

๐Ÿ’– CHOOM โ€” display or adjust OOM-killer score ๐Ÿ’–

okay so bestie, pull up a chair, we're talking about choom, the little tool from util-linux (that's the User Commands crew, section 1, iykyk) that lets you peek at or tweak the Out-Of-Memory killer score of a process. no cap.


โœจ SYNOPSIS โœจ

choom -p PID

choom -p PID -n number

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

like, three whole moods. pick your fighter. ๐ŸŽ€


๐ŸŒธ DESCRIPTION ๐ŸŒธ

The choom command displays or adjusts the Out-Of-Memory killer score setting. that's it, that's the whole job, and it does it flawlessly. ๐Ÿ’…


๐Ÿฆ‹ OPTIONS ๐Ÿฆ‹

  • -p, --pid pid โ€” tells it which process ID we're talking about. who are we looking at, bestie.
  • -n, --adjust value โ€” sets the adjust score value. the actual knob-turning part. ๐Ÿ”ฅ
  • -h, --help โ€” shows the help text and dips. exit. bye. ๐Ÿ‘‹
  • -V, --version โ€” shows the version and dips. also exit. โœจ

๐Ÿ‘‘ NOTES ๐Ÿ‘‘

okay this is the part where it gets juicy, so listen up.

The Linux kernel uses the badness heuristic to select which process gets killed in out of memory conditions. yes, it's literally called "badness". the kernel is out here doing a vibe check on your processes and deciding who's the problem. ๐Ÿ˜ญ

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. it's giving report card energy, honestly. ๐Ÿ“

There is an additional factor included in the badness score: the current memory and swap usage is discounted by 3% for root processes. root gets a lil discount, main character privilege fr fr. ๐Ÿ‘‘

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. so many contexts bestie, so many. ๐ŸŒˆ

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. that's the "do NOT perceive me" setting. ๐Ÿ™ˆ

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. so like, +500 = "kill me first bestie I'm volunteering as tribute" and -500 = "actually no, count less of my memory against me, I'm built different". ๐Ÿซถ


๐ŸŽ€ AUTHORS ๐ŸŽ€

Karel Zak <kzak@redhat.com> โ€” the icon who wrote this. we stan. ๐Ÿ’œ


โญ SEE ALSO โญ

  • proc(5) โ€” go read it, it's right there, it's the lore.

๐Ÿ’€ REPORTING BUGS ๐Ÿ’€

For bug reports, use the issue tracker <https://github.com/util-linux/util-linux/issues>. found a bug? tell them, don't just suffer in silence bestie, that's not the vibe. ๐Ÿฆ‹


๐ŸŒŸ AVAILABILITY ๐ŸŒŸ

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/>. go get it, it's free, it's iconic. ๐ŸŽ€


and that's the whole page, bestie!! this was choom(1) from util-linux 2.42.4, dated 2026-09-21 โ€” like, the manual name is right up top in the title and the source/version/date is exactly that. now go adjust somebody's OOM score. slay responsibly. ๐Ÿ’–โœจ๐Ÿ’…

๐Ÿ“ฆ where this page comes from
  • arch rolling: util-linux 2.42.4-1 ยท BSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause-UC AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-or-later AND ISC AND LGPL-2.1-or-later AND LicenseRef-PublicDomain
  • ๐Ÿ’– girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms