oomd(1)

✨ oomd β€” the userspace OOM killer that ATE πŸ’…

okay bestie, so this is the manual page for oomd(1), from the General Commands Manual. it's a whole vibe. let's get into it 🫢


🌸 NAME 🌸

oomd β€” Userspace Out-Of-Memory (OOM) killer for Linux systems ✨

like. the OOM killer. but it's not the kernel's OOM killer. it's the userspace one. main character energy fr.


πŸŽ€ SYNOPSIS πŸŽ€

oomd [OPTION] ...

that's it. that's the whole thing. options and vibes πŸ¦‹


πŸ’– DESCRIPTION πŸ’–

so, the tea: oomd leverages PSI and cgroupv2 to monitor a system holistically β€” like, it's watching the whole system, not just one little process being dramatic.

then, oomd takes corrective action in userspace before an OOM occurs in kernel space. yes bestie, before. proactive. iconic. 😀

the corrective action is configured via a flexible plugin system, which means you can literally write custom code for it. and by default? this involves killing offending processes. not me being the one who decides who lives and who dies πŸ’€

this enables an unparalleled level of flexibility where each workload can have custom protection rules. every workload gets its own rules, its own boundaries, its own little moment of protection. slay.

furthermore β€” and this part is important β€” time spent livedlocked in kernelspace is minimized. which is good!! because livedlocked kernelspace time is not the vibe. πŸ™ˆ


✨ OPTIONS ✨

  • --help, -h β€” Show this help message and exit. you're literally looking at the help rn, kind of meta ngl 🫢
  • --version, -v β€” Print version and exit. quick little flex, then it dips.
  • --config, -C CONFIG β€” Config file. default: /etc/oomd/oomd.json πŸ‘‘
  • --interval, -i INTERVAL β€” Event loop polling interval. default: 5 ⏱️
  • --cgroup-fs, -f FS β€” Cgroup2 filesystem mount point. default: /sys/fs/cgroup
  • --check-config, -c CONFIG β€” Check config file. default: /etc/oomd/oomd.json 🧐
  • --list-plugins, -l β€” List all available plugins. window shopping for plugins, we love it πŸŽ€
  • --drop-in-dir, -w DIR β€” Directory to watch for drop in configs. it's watching. always watching πŸ‘€
  • --socket-path, -s PATH β€” Specify stats socket path. default: /run/oomd/oomd-stats.socket
  • --dump-stats, -d β€” Dump accumulated stats. the receipts!! πŸ“Š
  • --reset-stats, -r β€” Reset stats collection. fresh start, new me 🌈
  • --device DEVS β€” Comma separated <major>:<minor> pairs for IO cost calculation. default: none
  • --ssd-coeffs COEFFS β€” Comma separated values for SSD IO cost calculation. default: see doc πŸ““
  • --hdd-coeffs COEFFS β€” Comma separated values for HDD IO cost calculation. default: see doc πŸ““
ok the <major>:<minor> thing in --device is written exactly like that in the original, so I'm keeping it exactly like that. no cap, that's the format. πŸ’…

πŸ¦‹ SEE ALSO πŸ¦‹

go read it, bestie. the configuration section has lore. iykyk ✨


πŸ’œ AUTHOR πŸ’œ

oomd is written by Facebook, Inc. πŸ‘‘

This manual page was written by Yangfl for the Debian Project (and may be used by others). we love a person who writes man pages fr fr 🫢


and that's the whole page, bestie!! 🌈 this was the oomd(1) page from the General Commands Manual β€” go forth, monitor holistically, kill responsibly, and stay out of livedlocked kernelspace πŸ’–βœ¨πŸŽ€πŸ¦‹πŸŒΈπŸ’…πŸ«ΆπŸ˜­πŸ”₯πŸ‘‘πŸŒˆβ­πŸ’€πŸ™ˆπŸ“πŸ§šπŸ’œ