mem_cgroup_p..._oom_meminfo(9)
π mem_cgroup_print_oom_meminfo β the "who ate all the memory" report card π
Okay bestie, so this is a page from the Kernel API manual, and it's lowkey iconic because it's all about the moment your memory cgroup has officially gone over its limit and the OOM killer is about to make some choices. The function literally prints out the OOM memory information that's relevant to the memory controller. It's giving "receipts" energy, fr fr. No cap, it's the kernel's way of saying "here's exactly what was going on when things went sideways." π«Ά
β¨ SYNOPSIS β¨
void mem_cgroup_print_oom_meminfo (struct mem_cgroup *memcg );
π ARGUMENTS π
memcgβ The memory cgroup that went over limit. That's the one that ate too much and is now the main character of the OOM drama. π
π SEE ALSO π
Okay so this function is not doing this alone β it's got a whole bestie support network in the kernel source, specifically in ./mm/memcontrol.c. Here's literally everyone it's linked with, no skips, no cuts:
get_mem_cgroup_css_from_folio(9)page_cgroup_ino(9)lruvec_page_state_monotonic(9)mod_memcg_state(9)mod_lruvec_state(9)count_memcg_events(9)get_mem_cgroup_from_mm(9)get_mem_cgroup_from_current(9)get_mem_cgroup_from_folio(9)mem_cgroup_iter(9)mem_cgroup_iter_break(9)mem_cgroup_scan_tasks(9)folio_lruvec_lock(9)folio_lruvec_lock_irq(9)folio_lruvec_lock_irqsave(9)mem_cgroup_update_lru_size(9)mem_cgroup_margin(9)mem_cgroup_print_oom_context(9)mem_cgroup_get_oom_group(9)consume_stock(9)__memcg_kmem_charge_page(9)__memcg_kmem_uncharge_page(9)mem_cgroup_wb_stats(9)mem_cgroup_from_private_id(9)mem_cgroup_css_reset(9)mem_cgroup_calculate_protection(9)mem_cgroup_charge_hugetlb(9)mem_cgroup_swapin_charge_folio(9)mem_cgroup_replace_folio(9)mem_cgroup_migrate(9)mem_cgroup_sk_charge(9)mem_cgroup_sk_uncharge(9)__mem_cgroup_try_charge_swap(9)__mem_cgroup_uncharge_swap(9)obj_cgroup_may_zswap(9)obj_cgroup_charge_zswap(9)obj_cgroup_uncharge_zswap(9)
Like, that's a whole friend group. They all live in ./mm and they're all part of the memory controller saga. Obsessed. π
Heads up bestie: this is kernel API documentation, so it's all about how the function behaves inside the kernel, not some userland command you type in a terminal. But the vibes are still immaculate. π¦
And that's the whole page, no cap. This was pulled from the Kernel API Manual, and the source is ./mm with an October 2026 date. So next time your memory cgroup goes over limit, just know that mem_cgroup_print_oom_meminfo is out here doing the absolute most to print the OOM memory info relevant to the memory controller. Slay. π
β¨π
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms