cha*_*ang 10 java heap-memory cpu-usage
需要api来获取我当前进程或应用程序在CPU中的CPU和内存使用情况.我得到了一个API来获取完整的系统的CPU使用率,但我需要特殊处理.(getSystemCpuLoad的OperatingSystemMXBean接口)
提前致谢
如果使用其他数据,则可以获取该数据OperatingSystemMXBean.检查导入的包:com.sun.management.OperatingSystemMXBean.
import java.lang.management.ManagementFactory;
import com.sun.management.OperatingSystemMXBean;
public class Test {
public static void main(String[] args) {
OperatingSystemMXBean operatingSystemMXBean =
(OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean();
System.out.println(operatingSystemMXBean.getProcessCpuLoad());
}}
Run Code Online (Sandbox Code Playgroud)
如果我没弄错的话,这个类包含在rt.jar中,存在于你的java运行时中.
有好消息也有坏消息。坏消息是,使用纯 Java 不可能以编程方式查询 CPU 使用情况。根本就没有 API 可以实现这一点。建议的替代方案可能使用 Runtime.exec() 来确定 JVM 的进程 ID (PID),调用外部的特定于平台的命令(如 ps),并解析其输出以获取感兴趣的 PID。但是,这种方法充其量也是脆弱的。
不过,好消息是,可以通过跳出 Java 并编写几行通过 Java 本机接口 (JNI) 与 Java 应用程序集成的 C 代码行来实现可靠的解决方案。
| 归档时间: |
|
| 查看次数: |
7643 次 |
| 最近记录: |