Re: kswapd hogging in lowmem_shrink

From: Michal Hocko
Date: Fri Mar 13 2015 - 11:23:25 EST


On Fri 13-03-15 19:55:27, Vaibhav Shinde wrote:
> On low memory situation, I see various shrinkers being invoked, but in
> lowmem_shrink() case, kswapd is found to be hogging for around 150msecs.
>
> Due to this my application suffer latency issue, as the cpu was not
> released by kswapd0.
>
> I took below traces with vmscan events, that show lowmem_shrink taking such
> long time for execution.
>
> kswapd0-67 [003] ...1 1501.987110: mm_shrink_slab_start:
> lowmem_shrink+0x0/0x580 c0ee8e34: objects to shrink 122 gfp_flags
> GFP_KERNEL pgs_scanned 83 lru_pgs 241753 cache items 241754 delta 10
> total_scan 132
> kswapd0-67 [003] ...1 1502.020827: mm_shrink_slab_end:
> lowmem_shrink+0x0/0x580 c0ee8e34: unused scan count 122 new scan count 4
> total_scan -118 last shrinker return val 237339
>
> Please provide inputs on the same.

I would strongly discourage from using lowmemory killer. It is broken by
design IMHO. It can spend a lot of time looping on a large machine. Why
do you use it in the first place?

--
Michal Hocko
SUSE Labs
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/