从 运行 java 程序中获取 CPU 数字

Get CPU number from running java program

我正在 运行ning 一个 java 程序,并且想要获取进程当前正在 运行ning 的 cpu。 java 中是否有任何标准方法来获取此信息?

我的备份计划是 运行 类似 ps -eF 的东西来为我当前的流程获取 cpu 但这看起来很难看

您要查找的数据不是静态数据而是动态数据,我认为理想情况下应该是 Java java.lang.Thread class 的一部分,其中方法调用类似于此Thread.currentThread().getCPUNumber() 应该给你那个细节。

Java 应该屏蔽 OS 特定的系统调用并在 API 级别提供该数据。

据我所知,您的问题的答案是 - java 中是否有任何标准方法来获取此信息? 因为此数据是动态的并且 OS 是线程调度程序,所以它不能成为 System.getProperty(...) OR System.getenv(..) OR Runtime.getRuntime(). 的一部分。

我想,正如这些 SO 问题中所建议的那样,您必须从 Java 线程 - Q1 , Q2 中进行 OS 特定的系统调用。

希望对您有所帮助!!