如何在Java中获得最大CPU时钟

如何在Java中获得最大CPU时钟,java,cpu,Java,Cpu,与 我可以得到可用的CPU数量 但是我怎样才能得到他们的时钟频率呢 我正在搜索与操作系统无关的解决方案。中没有返回CPU频率的功能 此外,该方法返回调用该方法时Java虚拟机可用的处理器数量,因此它不一定返回系统中的实际处理器数量 根据该方法的Java API规范: 返回处理器的数量 可用于Java虚拟机 此值可能在运行期间发生变化 虚拟机的特定调用 机器。应用程序 对可用数量敏感 因此,处理器应该 偶尔轮询此属性和 调整他们的资源使用 适当地 为了获得这些信息,很可能必须通过(JNI)使用本机

我可以得到可用的CPU数量

但是我怎样才能得到他们的时钟频率呢


我正在搜索与操作系统无关的解决方案。

中没有返回CPU频率的功能

此外,该方法返回调用该方法时Java虚拟机可用的处理器数量,因此它不一定返回系统中的实际处理器数量

根据该方法的Java API规范:

返回处理器的数量 可用于Java虚拟机

此值可能在运行期间发生变化 虚拟机的特定调用 机器。应用程序 对可用数量敏感 因此,处理器应该 偶尔轮询此属性和 调整他们的资源使用 适当地


为了获得这些信息,很可能必须通过(JNI)使用本机调用操作系统。

这是特定于操作系统的。您正在运行哪个操作系统?可能只存在特定于平台的解决方案(read/proc/cpuinfo?)。但总的来说,要说出频率已经不容易了。。。你是说现在的频率吗?还是最大频率?不受限制的虚拟机与最大4GHz的主机共享如何?(4台这样的主机是4GHz还是1GHz?或者可能是当前的空闲值80MHz)我不知道您想用这些信息做什么,但请注意,时钟频率与处理器的计算速度不一致。例如,一个3GHz的奔腾4比一个2.4GHz的Core2Duo要慢。非常清楚。我在寻找本机方法,但如果不存在,我将研究JNI这不是为了精确地对底层硬件建模,而是为了大致了解硬件可以支持的并发线程的数量。
Runtime.getRuntime().availableProcessors();