java—指定多核系统中要使用的CPU的数量

monwx1rj  于 2021-06-30  发布在  Java
关注(0)|答案(2)|浏览(562)

我已经知道如何使用runtime方法来获得可用处理器的数量(在java中),但是我需要的是如何控制在多核环境中的每一轮测试或执行期间要使用的处理器的数量。换言之,我想在一台有12个处理器的多核计算机的一个节点上进行实验,但我需要能够在每轮实验(执行)中指定应该有多少个处理器执行我的线程应用程序。我需要能够指定2个CPU,4个CPU,6个CPU,8个CPU,10个CPU和12个CPU的使用。欢迎您提出任何建议,谢谢

gev0vcfq

gev0vcfq1#

对jvm使用处理器相关性。取决于您的操作系统,这可能是一项琐碎的任务,也可能不是。:-)
对于windows 7,请参见以下内容:http://www.techrepublic.com/blog/window-on-windows/change-the-processor-affinity-setting-in-windows-7-to-gain-a-performance-edge/5322
对于linux,请使用以下命令:http://linux.die.net/man/1/taskset
注意:您正在为jvm而不是java应用程序设置处理器相关性!
另外,请参阅本文了解jni方法和进一步的讨论。

gkl3eglg

gkl3eglg2#

只创建尽可能多的线程来使用核心(使用一个线程在一个核心上执行)。
在java中,不可能限制内核的数量。

相关问题