小编Joh*_*egg的帖子

Java 的 ActiveProcessorCount 是否限制 JVM 可以使用的 CPU 数量?

我正在使用 Oracle 的 Java 1.8.0_231。

设置-XX:ActiveProcessorCount=n有什么作用?我不是 C++ 人员,但我想我在 HotSpot 源代码中看到了这两个用途:

  • 影响 HotSpot 编译器线程数
  • 影响GC线程数

然而,它实际上限制了 JVM 可以使用的 CPU 数量吗?Java 10 发行说明明确指出:

此外,此更改添加了一个 JVM 选项,可以指定 JVM 将使用的 CPU 数量。

我担心的是,我的测试结果(在任何 Docker、CF 等容器之外)似乎显示应用程序平等地使用所有 8 个 CPU,而不是我设置的 4 个: 所有 8 个 CPU

那么,设置 ActiveProcessorCount 实际上应该限制 JVM 使用的 CPU 数量吗?我在 HotSpot 代码中没有看到任何这样做的内容,而且我的测试结果似乎也说不。

谢谢

java jvm-hotspot

8
推荐指数
2
解决办法
2万
查看次数

标签 统计

java ×1

jvm-hotspot ×1