100% cpu on arm32 in Service Thread

Stefan Reich stefan.reich.maker.of.eye at googlemail.com
Fri Sep 27 16:24:51 UTC 2019


Yeah, probably a different bug... I'm just happy I'm zeroing in a little on
this bug. At least we now know it's most likely in G1.

I am possibly switching to ZGC BTW, but I'm still solving the multi-mapping
memory reporting problem on Linux.

On Fri, 27 Sep 2019 at 18:22, Craig.Condit <Craig.Condit at target.com> wrote:

> Hmm,
>
>
>
> Are you sure? Your CPU usage seems to be occurring in a G1 thread, while
> mine is in Service Thread:
>
>
>
>   PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+
> COMMAND
>
>  7842 ccondit   20   0  328336  81768  11296 R  99.9   8.7   0:28.51
> Service Thread
>
>  7865 ccondit   20   0  309592  21168  10744 R  99.7   2.2   0:28.00
> Service Thread
>
>
>
> Simple command which triggers the issue (though any Java process I haved
> tried does the same):
>
>
>
> $ /opt/openjdk-13/bin/jshell
>
> |  Welcome to JShell -- Version 13
>
> |  For an introduction type: /help intro
>
>
>
> jshell>
>
>
>
> Additional information:
>
>
>
> $ /opt/openjdk-13/bin/java -version
>
> openjdk version "13" 2019-09-17
>
> OpenJDK Runtime Environment AdoptOpenJDK (build 13+33)
>
> OpenJDK Server VM AdoptOpenJDK (build 13+33, mixed mode)
>
>
>
> $ uname -a
>
> Linux localhost.localdomain 4.19.66-v7+ #1253 SMP Thu Aug 15 11:49:46 BST
> 2019 armv7l GNU/Linux
>
>
>
> $ lscpu
>
> Architecture:        armv7l
>
> Byte Order:          Little Endian
>
> CPU(s):              4
>
> On-line CPU(s) list: 0-3
>
> Thread(s) per core:  1
>
> Core(s) per socket:  4
>
> Socket(s):           1
>
> Vendor ID:           ARM
>
> Model:               4
>
> Model name:          Cortex-A53
>
> Stepping:            r0p4
>
> CPU max MHz:         1200.0000
>
> CPU min MHz:         600.0000
>
> BogoMIPS:            76.80
>
> Flags:               half thumb fastmult vfp edsp neon vfpv3 tls vfpv4
> idiva idivt vfpd32 lpae evtstrm crc32
>
>
>
>
>
> *From: *Stefan Reich <stefan.reich.maker.of.eye at googlemail.com>
> *Date: *Friday, September 27, 2019 at 11:09 AM
> *To: *"Craig.Condit" <Craig.Condit at target.com>
> *Cc: *"hotspot-dev at openjdk.java.net" <hotspot-dev at openjdk.java.net>
> *Subject: *[EXTERNAL] Re: 100% cpu on arm32 in Service Thread
>
>
>
> Hold on! This might be the same bug I am chasing - and seeing right now
> again, in fact. This is on Linux with JDK 13 EA 31 and top -H:
>
>
>
>   PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND
>
> 18690 root      20   0 7750728 3,775g  37660 R 98,2 32,1  12638:21 G1
> Conc#0
>
>
>
> This is going on indefinitely as long as the JVM runs.
>
>
>
> On Fri, 27 Sep 2019 at 18:03, Craig.Condit <Craig.Condit at target.com>
> wrote:
>
> It appears there is some sort of regression in serviceThread.cpp which
> consumes all available CPU on jdk13 arm32 builds (tested on multiple vendor
> builds including AdoptOpenJDK and BellSoft). This is easily reproducible
> -- I used multiple Raspberry Pis (2 and 3).
>
> All java processes consume 100% of a core in "Service Thread". To
> reproduce, launch any long-running java process (such as jshell), and in
> another terminal, run "top -H" to view CPU usage by thread.
>
> This does not occur on jdk 11 or jdk 12.
>
>
>
>
> --
>
> Stefan Reich
>
> BotCompany.de // Java-based operating systems
>


-- 
Stefan Reich
BotCompany.de // Java-based operating systems


More information about the hotspot-dev mailing list