Re: kswapd hogging in lowmem_shrink

From: Rik van Riel
Date: Mon Mar 16 2015 - 07:44:04 EST

On 03/16/2015 03:45 AM, Vaibhav Shinde wrote:
> On Fri, Mar 13, 2015 at 7:52 AM, Rik van Riel <riel@xxxxxxxxxx
> <mailto:riel@xxxxxxxxxx>> wrote:
>> On 03/13/2015 10:25 AM, 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.
>> This is the Android low memory killer, which kills the
>> task with the lowest priority in the system.
>> The low memory killer will iterate over all the tasks
>> in the system to identify the task to kill.
>> This is not a problem in Android systems, and other
>> small systems where this piece of code is used.
>> What kind of system are you trying to use the low
>> memory killer on?
>> How many tasks are you running?
> yes, lowmemorykiller kills the task depending on its oom_score, I am
> using a embedded device with 2GB memory, there are task running that
> cause lowmemory situation - no issue about it.
> But my concern is kswapd takes too long to iterate through all the
> processes(lowmem_shrink() => for_each_process()), the time taken is
> around 150msec, due to which my high priority application suffer system
> latency that cause malfunctioning.

If it is an issue for you, you will have to fix that.

All rights reversed
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at