如何使Java进程使用多个CPU内核

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

Java进程在高负载期间没有利用更多的CPU内核。在高负载下,平均Java进程平均使用200%(即2核)的CPU,有时它会在很少的时间内达到400%的CPU。在Linux(OS)环境中,我们大约有28个内核可用。我想知道有什么方法可以使我们的进程使用更多的CPU内核吗?

java cpu
2个回答
2
投票

这里多线程似乎是适当的“流行语”。也许有帮助:https://beginnersbook.com/2013/03/multithreading-in-java/


1
投票

您的JVM和主机OS决定要使用多少个“本机”线程,以及如何根据手头的任务将这些线程映射到物理处理器。

因此基本上,调度取决于操作系统,您可以查看发生了什么。

从编程的角度,您可以检查:

ForkJoinPool = new ForkJoinPool(X);
and
ExecutorService ex = Executors.neWorkStealingPool(X);
© www.soinside.com 2019 - 2024. All rights reserved.