On Wed, 25 Aug 2010 17:52:06 -0700 (PDT) David Rientjes <rientjes@xxxxxxxxxx> wrote: > On Thu, 26 Aug 2010, KAMEZAWA Hiroyuki wrote: > > > I'm now trying to write a userspace tool to calculate this, for me. > > Then, could you update documentation ? > > == > > 3.2 /proc/<pid>/oom_score - Display current oom-killer score > > ------------------------------------------------------------- > > > > This file can be used to check the current score used by the oom-killer is for > > any given <pid>. Use it together with /proc/<pid>/oom_adj to tune which > > process should be killed in an out-of-memory situation. > > == > > > > You'll want to look at section 3.1 of Documentation/filesystems/proc.txt, > which describes /proc/pid/oom_score_adj, not 3.2. > > > add a some documentation like: > > == > > (For system monitoring tool developpers, not for usual users.) > > oom_score calculation is implemnentation dependent and can be modified without > > any caution. But current logic is > > > > oom_score = ((proc's rss + proc's swap) / (available ram + swap)) + oom_score_adj > > > > I'd hesitate to state the formula outside of the implementation and > instead focus on the semantics of oom_score_adj (as a proportion of > available memory compared to other tasks), which I tried doing in section > 3.1. Then, the userspace tool only need be concerned about the units of > oom_score_adj rather than whether rss, swap, or later extentions such as > shm are added. > Hmm. I'll add a text like following to cgroup/memory.txt. O.K. ? == Notes on oom_score and oom_score_adj. oom_score is calculated as oom_score = (taks's proportion of memory) + oom_score_adj. Then, when you use oom_score_adj to control the order of priority of oom, you should know about the amount of memory you can use. So, an approximate oom_score under memcg can be memcg_oom_score = (oom_score - oom_score_adj) * system_memory/memcg's limit + oom_score_adj. And yes, this can be affected by hierarchy control of memcg and calculation will be more complicated. See, oom_disable feature also. == Thanks, -Kame -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>