Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 限制可用处理器_Java_Linux_Cpu Usage - Fatal编程技术网

Java 限制可用处理器

Java 限制可用处理器,java,linux,cpu-usage,Java,Linux,Cpu Usage,不久前我在使用Solaris时遇到了一个问题,我想限制Runtime.getRuntime.AvailableProcessor返回的Java可以看到的CPU数量。我想我已经拥有了它,我得到了一些关于Linux的信息,并且相信它。有人告诉我,使用taskset会限制java使用的CPU数量,这是正确的,但不会改变可用处理器返回的内容 我已经搜索了很多,想找到一些方法来改变这个可用的处理器返回值,但我没有找到任何东西。有人知道限制它的方法吗?或者为什么taskset-c0,1java-cp./Te

不久前我在使用Solaris时遇到了一个问题,我想限制Runtime.getRuntime.AvailableProcessor返回的Java可以看到的CPU数量。我想我已经拥有了它,我得到了一些关于Linux的信息,并且相信它。有人告诉我,使用taskset会限制java使用的CPU数量,这是正确的,但不会改变可用处理器返回的内容

我已经搜索了很多,想找到一些方法来改变这个可用的处理器返回值,但我没有找到任何东西。有人知道限制它的方法吗?或者为什么taskset-c0,1java-cp./Test不能工作

Test.java

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

干杯

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

请注意,在您的示例中,taskset不仅仅将您限制为两个处理器;它将您限制为两个特定的处理器0和1

我想知道您是否可以使用横切AOP或字节码生成来包装AvailableProcessor调用