On Tue, 25 May 2010 02:42:14 -0700 (PDT) David Rientjes <rientjes@xxxxxxxxxx> wrote: > On Thu, 20 May 2010, KAMEZAWA Hiroyuki wrote: > > > I've pointed out that "normalized" parameter doesn't seem to work well in some > > situaion (in cluster). I hope you'll have an extra interface as > > > > echo 3G > /proc/<pid>/oom_indemification > > > > to allow users have "absolute value" setting. > > (If the admin know usual memory usage of an application, we can only > > add badness to extra memory usage.) > > > > To be honest, I can't fully understand why we need _normalized_ parameter. Why > > oom_adj _which is now used_ is not enough for setting "relative importance" ? > > > > The only sane badness heuristic will be one that effectively compares all > eligible tasks for oom kill in a way that are relative to one another; I'm > concerned that a tunable that is based on a pure memory quantity requires > specific knowledge of the system (or memcg, cpuset, etc) capacity before > it is meaningful. In other words, I opted to use a relative proportion so > that when tasks are constrained to cpusets or memcgs or mempolicies they > become part of a "virtualized system" where the proportion is then used in > calculation of the total amount of system RAM, memcg limit, cpuset mems > capacities, etc, without knowledge of what that value actually is. So > "echo 3G" may be valid in your example when not constrained to any cgroup > or mempolicy but becomes invalid if I attach it to a cpuset with a single > node of 1G capacity. When oom_score_adj, we can specify the proportion > "of the resources that the application has access to" in comparison to > other applications that share those resources to determine oom killing > priority. I think that's a very powerful interface and your suggestion > could easily be implemented in userspace with a simple divide, thus we > don't need kernel support for it. > I know admins will be able to write a script. But, my point is "please don't force admins to write such a hacky scripts." For example, an admin uses an application which always use 3G bytes adn it's valid and sane use for the application. When he run it on a server with 4G system and 8G system, he has to change the value for oom_score_adj. One good point of old oom_adj is that it's not influenced by environment. Then, X-window applications set it's oom_adj to be fixed value. IIUC, they're hardcoded with fixed value, now. Even if my customer may use only OOM_DISABLE, I think using oom_score_adj is too difficult for usual users. 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>