On Wed, Aug 23, 2023 at 6:12 AM Michal Hocko <mhocko@xxxxxxxx> wrote: > > On Wed 23-08-23 10:00:58, Liu Shixin wrote: > > > > > > On 2023/8/23 0:35, Yosry Ahmed wrote: > > > On Mon, Aug 21, 2023 at 6:54 PM Liu Shixin <liushixin2@xxxxxxxxxx> wrote: > > >> When spaces of swap devices are exhausted, only file pages can be reclaimed. > > >> But there are still some swapcache pages in anon lru list. This can lead > > >> to a premature out-of-memory. > > >> > > >> This problem can be fixed by checking number of swapcache pages in > > >> can_reclaim_anon_pages(). For memcg v2, there are swapcache stat that can > > >> be used directly. For memcg v1, use total_swapcache_pages() instead, which > > >> may not accurate but can solve the problem. > > > Interesting find. I wonder if we really don't have any handling of > > > this situation. > > I have alreadly test this problem and can confirm that it is a real problem. > > With 9MB swap space and 10MB mem_cgroup limit,when allocate 15MB memory, > > there is a probability that OOM occurs. > > Could you be more specific about the test and the oom report? I actually couldn't reproduce it using 9MB of zram and a cgroup with a 10MB limit trying to allocate 15MB of tmpfs, no matter how many repetitions I do. > > -- > Michal Hocko > SUSE Labs