On Mon, Sep 08, 2014 at 10:53:48PM +0900, Kamezawa Hiroyuki wrote: > (2014/09/08 20:01), Vladimir Davydov wrote: > >On Sat, Sep 06, 2014 at 08:15:44AM +0900, Kamezawa Hiroyuki wrote: > >>As you noticed, hitting anon+swap limit just means oom-kill. > >>My point is that using oom-killer for "server management" just seems crazy. > >> > >>Let my clarify things. your proposal was. > >> 1. soft-limit will be a main feature for server management. > >> 2. Because of soft-limit, global memory reclaim runs. > >> 3. Using swap at global memory reclaim can cause poor performance. > >> 4. So, making use of OOM-Killer for avoiding swap. > >> > >>I can't agree "4". I think > >> > >> - don't configure swap. > > > >Suppose there are two containers, each having soft limit set to 50% of > >total system RAM. One of the containers eats 90% of the system RAM by > >allocating anonymous pages. Another starts using file caches and wants > >more than 10% of RAM to work w/o issuing disk reads. So what should we > >do then? > >We won't be able to shrink the first container to its soft > >limit, because there's no swap. Leaving it as is would be unfair from > >the second container's point of view. Kill it? But the whole system is > >going OK, because the working set of the second container is easily > >shrinkable. Besides there may be some progress in shrinking file caches > >from the first container. > > > >> - use zram > > > >In fact this isn't different from the previous proposal (working w/o > >swap). ZRAM only compresses data while still storing them in RAM so we > >eventually may get into a situation where almost all RAM is full of > >compressed anon pages. > > > > In above 2 cases, "vmpressure" works fine.
What if a container allocates memory so fast that the userspace thread handling its threshold notifications won't have time to react before it eats all memory? Thanks, Vladimir -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/