Memory Usage Discrepancy — kcli top vs systemctl status kumomta.service

Description:

I would like to confirm whether KumoMTA’s memory monitoring reflects only its actual process memory usage or if it also includes OS-level caching.

Here’s what I’ve observed:

  • When checking via kcli top, KumoMTA shows 15GB of memory usage.

  • But when checking via systemctl status kumomta.service, it reports:

    1Main PID: 1862 (kumod)
    2Tasks: 109 (limit: 553178)
    3Memory: 37.3G

During a high-volume sending period last month, I noticed:

  • Memory in kcli top never exceeded 30GB,

  • While systemctl status kumomta.service reported memory usage exceeding 80% of total system RAM.

Could you clarify:

  • Does KumoMTA’s internal memory monitoring include cached memory?

  • Is such a discrepancy between kcli top and systemctl status expected behavior?

Memory Management - KumoMTA Docs describes how memory management and reporting works in KumoMTA.

There are many different ways to report on memory usage, and we make no attempt to replicate how systemd computes its total usage, because we may not even be running via systemd.

So yes, I would expect there to be a discrepancy between what kumomta reports and what some other tool reports.