我试图在运行程序时检查系统的性能
我参考这篇文章获取操作系统级别的系统信息
当这个Runtime.getRuntime().availableProcessors();
执行我得到了答案4
我读了availableProcessors(),但它告诉这个方法返回处理器的数量
我正在使用Windows 7核心i5 4gp。
非常感谢你
处理器的数量基本上是能够运行你的代码的执行引擎的数量。 其中一个i5变种是一个四核CPU,i5-7系列。 这些可能是物理上不同的处理器(即使它们存在于同一个芯片中),或者当您使用超线程时,它们可能是逻辑处理器。
有关更多详细信息,请参阅http://en.wikipedia.org/wiki/Intel_Core#Core_i5和http://en.wikipedia.org/wiki/Hyper-threading 。
正如您所阅读的, availableProcessors()是一个返回number of processors available to the JVM
方法。 4表示当前可用于JVM的处理器的数量。
这些行将返回Windows和其他操作系统中number of logical cores
。
在支持超线程的四核酷睿i7的电脑上,它将返回8 。
在具有四核Q6700的计算机上,此方法将返回4 。
你有一个多核处理器 (在你的情况下,它看起来像Lynnfield )。 由于每个内核可以与其他内核同时执行指令,因此每个内核都可以作为单独的CPU(单独的处理器)来计算信息。
它不提供可用于jvm进程的核心。 如果启用超线程,则实际可能会更大。
在这种情况下,“处理器”是“能够独立执行的硬件”,即CPU 核心 。
这不是“处理器包” – 你购买的单个硬件单元(实际上是一个包中的4个独立的CPU)