facebookincubator/oomd

KillMemoryGrowth-inl.h: misleading ologKillTarget message for SIZE_NO_THRESHOLD

jelmd opened this issue · 0 comments

jelmd commented

For analysis it is important to know, why and which cgroup got killed. In case of SIZE_NO_THRESHOLD it is misleading, not clear for anybody, which hasn't read and understood the source code. E.g.:

Picked "lxc.payload.n04-02/user.slice/user-6666.slice/session-4376.scope" (98499MB) based on size > 50% of total 253210MB (size threshold overridden) with kill preference NORMAL
vs.
Picked "lxc.payload.n04-00/user.slice/user-6666.slice/session-4377.scope" (188119MB) based on size > 50% of total 253244MB with kill preference NORMAL

Actually, even the of total ... MiB part is misleading, because the total memory of the system has no impact at all on the decision made - but many users think of MemTotal from /proc/meminfo when they ready total memory (at least non-native speakers ;-)).

So how about removing the total from the phase 1 message, replacing phase 3 message with something like Picked "lxc.payload.n04-00/user.slice/user-6666.slice/session-4429.scope" (187622MiB) based on effective usage of 122086 MiB with kill preference NORMAL (memory.low = 64GiB, mem_adj = 0, mem_scale = 1), and last but not least using the correct unit, i.e. MiB instead of MB?