【发布时间】:2010-12-02 03:24:47
【问题描述】:
是否有独立于平台的方法来检测 Java 中物理和/或虚拟处理器的数量?一种可能的解决方案是检测操作系统并使用 Windows 环境变量“NUMBER_OF_PROCESSORS”。 Linux 和 Mac OS X 是否有类似的产品?然而,这可能不是最好的解决方案。
【问题讨论】:
标签: java operating-system
是否有独立于平台的方法来检测 Java 中物理和/或虚拟处理器的数量?一种可能的解决方案是检测操作系统并使用 Windows 环境变量“NUMBER_OF_PROCESSORS”。 Linux 和 Mac OS X 是否有类似的产品?然而,这可能不是最好的解决方案。
【问题讨论】:
标签: java operating-system
这可能会有所帮助,来自
https://web.archive.org/web/20160401052253/http://www.javadb.com/get-number-of-available-processors/
https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Runtime.html
Runtime runtime = Runtime.getRuntime();
int nrOfProcessors = runtime.availableProcessors();
【讨论】:
请注意,Runtime#getAvailableProcessors() 返回的是 Java VM 可用的处理器数量,而不是系统可用的处理器数量(如果重要的话)。例如。使用操作系统工具将 Java 进程固定到特定处理器通常会立即对返回值产生影响,因此不要依赖此值在 VM 执行期间不会发生变化。
【讨论】: