- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的处理器是 Intel® Core™ i7-3610QM 处理器(6M 高速缓存,2.30 GHz),拥有 4 个处理器核心和 8 个线程(这到底意味着什么?)。我正在运行一个简单的 Java 程序来找出“Java 虚拟机可用的处理器”的数量。 (来自 Oracle 的 API,Java 7),它为我返回 8,而不是 4。有人可以解释一下为什么会这样吗?
这是简单的java代码:
public class MyTest {
public static void main(String args[]) {
System.out.println("Number of cores available : " + Runtime.getRuntime().availableProcessors());
}
}
最佳答案
在我看来,这更多是一个硬件问题。
您的处理器有四个物理核心,加上所谓的“超线程”,这本质上意味着“告诉系统您确实有八个核心,即使您有四个核心。”据英特尔称,与仅表示为四核相比,这会带来 10-20% 的性能提升。
您所看到的就是操作系统所看到的:八个核心。从物理上讲,它有四个核心,外加超线程。
您可能想查看this answer on a similar question ,其中指出:
The number of processors is basically the number of execution engines capable of running your code. One of the i5 variants is a 4-core CPU, the i5-7 series. These may be physically distinct processors (even though they exist inside the same chip) or they may be logical processors when you're using hyper-threading.
关于java - Runtime.getRuntime().availableProcessors() 到底返回什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20497324/
我有一个程序(全天)并行运行任务(要执行的任务中没有 I/O),所以我使用 Executors.newFixedThreadPool(poolSize) 来实现它。 最初我将 poolSize 设置为
我正在使用具有 2 个核心的 Solaris 容器(物理机有 32 个核心,每个核心有 8 个线程)来运行 jvm (BEA Jrockit)。 令人惊讶的是:Runtime.getRuntime()
我最近买了一部 Moto Atrix 2 手机。当我试图查看手机中的处理器规范时,Runtime.getRuntime().availableProcessors() 返回 1。/proc/cpuin
我正在尝试检查程序的性能。我引用这篇文章get OS-level system information .当 Runtime.availableProcessors() 执行时,我得到了 4 的答案。
我们有一台配备 4 个 Intel Xeon E7 4850 处理器(NUMA 节点)的高端服务器机器,每个处理器有 10 个内核和 2 个线程。所以实际上我们有 80 个核心一台机器。(window
这个问题已经有答案了: Runtime.availableProcessors: what is it going to return? (3 个回答) Runtime.getRuntime().av
Java 1.6 中 Runtime.availableProcessors() 的 javadoc 非常不具体。是只看硬件配置,还是看负载?它是否足够聪明,不会被超线程愚弄?它是否通过 linux
我通常运行 Runtime#availableProcessors 来确定 Windows 计算机上有多少个内核并且它工作正常。结果与我在控制面板上看到的一致。 然而,当我在 Linux 服务器上应用
我正在AWS的ECS上通过Docker运行任务。该任务执行一些受CPU限制的计算,我想并行运行这些计算。我使用Runtime.getRuntime().availableProcessors()中指定
是否存在 Runtime.getRuntime().availableProcessors() 返回 0 的特定条件?也许当所有处理器都忙时? 最佳答案 没有。 http://docs.oracle.
我正在运行 Java app在 docker container 里面,仅限于 4 CPU以及 docker container 所在的机器运行,有 10 CPU . 调用nproc时在docker
我对如何在 Java 中执行并行线程进行了一些研究。我找到了一个简单的解决方案,那就是使用 ExecutorService 类。它基本上是通过调用以下内容来使用的: ExecutorService e
我是一名优秀的程序员,十分优秀!