On Thu 05-01-17 22:26:53, Vladyslav Frolov wrote: [...] > > Even without memcg involved. Are there any strong reasons you cannot reuse an existing cgroup? > > I run concurrent executions (I run cgmemtime > [https://github.com/gsauthof/cgmemtime] to measure high-water memory > usage of a group of processes), so I cannot reuse a single cgroup, and > I, currently, cannot maintain a pool of cgroups (it will add extra > complexity in my code, and will require cgmemtime patching, while > older kernels just worked fine). Do you believe there is no bug there > and it is just slow by design? > There are a few odd things here: > > 1. 4.7+ kernels perform 20 times *slower* while postponing should in > theory speed things up due to "async" nature > 2. Other cgroup creation/cleaning work like a charm, it is only > `memory` cgroup making my system overloaded > > > echo 1 > $CGROUP_BASE/memory.force_empty > > This didn't help at alll. OK, then it is not just the page cache staying behind which prevents those memcgs go away. Another reason might be kmem charges. Memcg kernel memory accounting has been enabled by default since 4.6 AFAIR. You say 4.7+ has seen a slowdown though so this might be completely unrelated. But it would be good to see whether the same happens with kernel command line: cgroup.memory=nokmem -- Michal Hocko SUSE Labs -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>