java - 我可以设置 Java VM 可用的线程/CPU 数量吗?

标签 java multithreading jvm

我想限制 Java VM 可用的线程/进程数,类似于您设置可用内存的方式。我希望能够将其指定为仅使用 1 个线程或任意数量。

注意:我无法在代码中设置它,因为我想限制的代码是一个我无法修改源代码的库。所以这肯定是对虚拟机的级别强加的硬上限。 (或者,如果您可以对可以覆盖库的应用程序本身施加线程限制?)

注意 2:此目的是性能测试,以限制我要测试的库,以查看当它访问不同数量的 CPU/线程时它的性能如何。

谢谢!

最佳答案

JVM 中的 CPU 限制问题在 Java 10 中得到解决,并从 build 8u191 向后移植到 Java 8:

-XX:ActiveProcessorCount=2

关于java - 我可以设置 Java VM 可用的线程/CPU 数量吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33723373/

相关文章:

java - 即使在它们的父线程死亡或终止之后,子线程如何仍然执行?

java - 使用G1收集器时JVM泄漏内存?

java - 在 AWS Amazon 上自动执行 api

python - 如何解决/绕过似乎与 GIL 相关的锁定问题

c++ - jvm如何处理多态及其优化

swift - 在 `projectPoint(_:)` 期间调用 `renderer(_:updateAtTime:)` 安全吗?

c++ - 等待往事

java - 为什么 string.charAt(x) 比 string[x] 慢很多

java - 将 JRE 与我的 JAR 封装在一个 EXE 文件中

java - 如何在 Windows 注册表中写入条目(值名称和值)