gpt4 book ai didi

java - 限制可用处理器

转载 作者:太空宇宙 更新时间:2023-11-04 04:35:25 25 4
gpt4 key购买 nike

不久前,我在使用 Solaris 时遇到了一个问题,我想限制 Java 可以看到的 CPU 数量(由 Runtime.getRuntime().availableProcessors() 返回)。我以为我已经解决了,我得到了一些有关 Linux 的信息,并相信它。我被告知使用 taskset 会限制 java 将使用的 CPU 数量(这是事实,确实如此),但它不会改变 available 返回的内容处理器().

我已经搜索了相当多的内容来寻找更改此 availableProcessors() 返回值的方法,但我没有找到任何东西。有谁知道限制它的方法或者为什么 taskset -c 0,1 java -cp ./Test 不起作用。

测试.java

public class Test {
public static void main(String args[]) {
System.out.println(Runtime.getRuntime().availableProcessors());
}
}

干杯

最佳答案

任务集在这里不起作用并不奇怪,因为它是一个设置调度程序参数的命令,而 availableProcessors() 没有任何理由查询调度程序。

请注意,在您的示例中,任务集不仅限制您使用两个处理器;还限制您使用两个处理器。它限制您使用两个特定的处理器(0 和 1)。

我想知道是否可以使用横切(AOP)或字节代码生成来包装 availableProcessors() 调用?

关于java - 限制可用处理器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/949379/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com