100% cpu on arm32 in Service Thread

Craig.Condit Craig.Condit at target.com
Fri Sep 27 16:22:49 UTC 2019


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<mailto: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


More information about the hotspot-dev mailing list