From: chen feng <puck.chen@foxmail.com>
To: Jerry Lee <leisurelysw24@gmail.com>,
linux-mm@kvack.org, puck.chen@huawei.com
Subject: Re: kswapd consumes 100% CPU when highest zone is small
Date: Wed, 2 Mar 2016 22:21:11 +0800 [thread overview]
Message-ID: <56D6F6D7.50103@foxmail.com> (raw)
In-Reply-To: <CAKQB+ft3q2O2xYG2CTmTM9OCRLCP2FPTfHQ3jvcFSM-FGrjgGA@mail.gmail.com>
On 2016/3/2 14:20, Jerry Lee wrote:
> Hi,
>
> I have a x86_64 system with 2G RAM using linux-3.12.x. During copying
> large
> files (e.g. 100GB), kswapd easily consumes 100% CPU until the file is
> deleted
> or the page cache is dropped. With setting the min_free_kbytes from 16384
> to
> 65536, the symptom is mitigated but I can't totally get rid of the problem.
>
> After some trial and error, I found that highest zone is always unbalanced
> with
> order-0 page request so that pgdat_blanaced() continuously return false and
> kswapd can't sleep.
>
> Here's the watermarks (min_free_kbytes = 65536) in my system:
> Node 0, zone DMA
> pages free 2167
> min 138
> low 172
> high 207
> scanned 0
> spanned 4095
> present 3996
> managed 3974
>
> Node 0, zone DMA32
> pages free 215375
> min 16226
> low 20282
> high 24339
> scanned 0
> spanned 1044480
> present 490971
> managed 464223
>
> Node 0, zone Normal
> pages free 7
> min 18
> low 22
> high 27
> scanned 0
> spanned 1536
> present 1536
> managed 523
>
> Besides, when the kswapd crazily spins, the value of the following entries
> in vmstat increases quickly even when I stop copying file:
>
> pgalloc_dma 17719
> pgalloc_dma32 3262823
> slabs_scanned 937728
> kswapd_high_wmark_hit_quickly 54333233
> pageoutrun 54333235
>
> Is there anything I could do to totally get rid of the problem?
> \
Yes, I have the same issue on arm64 platform.
I think you can increase the normal ZONE size. And I think there will be a memory alloc process
in your system which tigger the kswapd too frequently.
You can set this process to no-kswapd flag will also solve this issue.
> Thanks
>
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2016-03-02 14:21 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-02 6:20 kswapd consumes 100% CPU when highest zone is small Jerry Lee
2016-03-02 14:21 ` chen feng [this message]
2016-03-03 1:56 ` Jerry Lee
2016-03-03 5:59 ` Chen Feng
2016-03-02 17:36 ` Michal Hocko
2016-03-03 2:23 ` Jerry Lee
2016-03-03 8:22 ` Michal Hocko
2016-03-03 9:27 ` Jerry Lee
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=56D6F6D7.50103@foxmail.com \
--to=puck.chen@foxmail.com \
--cc=leisurelysw24@gmail.com \
--cc=linux-mm@kvack.org \
--cc=puck.chen@huawei.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.