单个Java线程正在使用多个本机线程

问题描述 投票:0回答:1

我只有一个Java线程,似乎可以引起700%的CPU负载。看来,该单个Java线程具有多个LWP。

JStack,Eclipse,VirtualVM都显示此单个线程:

Thread "pt(0)-00"

但是,htop显示了该单线程的8个线程,每个线程都有自己的LWP pid,每个都有该标识符,并且每个线程都具有75%-80%的CPU负载(htop并打开了线程名称):] >

enter image description here

根据tophtop(还有其他较不繁忙的线程),整个应用的总负载为800%CPU。

[如果有问题,我有6个核心,12个CPU(超线程)。我在使用open-jdk 11的Ubuntu上。

当1个Java线程(但显然是8个本机线程)停止工作时,负载下降到总计20%。

这是JVM的最新版本中增加的一些新“功能吗?

我只有一个Java线程,似乎可以引起700%的CPU负载。看来,这个Java单线程具有多个LWP。 JStack,Eclipse,VirtualVM均显示此单个线程:...

java multithreading jvm
1个回答
0
投票

事实证明,线程是由从该线程调用的本机库创建的。

© www.soinside.com 2019 - 2024. All rights reserved.