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