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