java - 使用 Java 的系统性能

标签 java

我想使用 Java 查找系统中每个可用处理器的使用情况。我使用以下方法获取了系统中可用处理器的数量:

com.sun.management.OperatingSystemMXBean) ManagementFactory().getOperatingSystemMXBean().getAvailableProcessors();

但无法找到每个可用处理器的使用情况。
请提出一些解决方案。另外我需要系统中的硬盘使用情况。

最佳答案

您可以使用SIGAR API为此

或者您可以尝试此方法来查找 CPU 和 RAM 使用情况。

  import java.lang.management.ManagementFactory;
  import java.lang.management.OperatingSystemMXBean;
  import java.lang.reflect.Method;
  import java.lang.reflect.Modifier;

  private static void printUsage() {
   OperatingSystemMXBean operatingSystemMXBean = ManagementFactory.getOperatingSystemMXBean();
   for (Method method : operatingSystemMXBean.getClass().getDeclaredMethods()) {
   method.setAccessible(true);
  if (method.getName().startsWith("get") 
    && Modifier.isPublic(method.getModifiers())) {
        Object value;
    try {
        value = method.invoke(operatingSystemMXBean);
    } catch (Exception e) {
        value = e;
    }
    System.out.println(method.getName() + " = " + value);
    } 
 }
}

看看这个 Thread

关于java - 使用 Java 的系统性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13226875/

相关文章:

java - 为什么我的解码器要等到它具有以下开始元素才能使用 XMLStreamReader 返回?

java - socket.outputStream 为什么要花这么多时间?

java - 从 JSONObject 中删除除一个之外的所有键

java - 带有异步调用的 Dagger 返回类型

Java 内存使用沙箱

java - 奇怪的 session 行为..!!在运行时更改用户对象属性

java - jdk8中scriptmanager的返回值

java - JPA中是否有查询类的参数化版本?

java - 为什么 "<= 1"没有按预期工作?

java - 我如何才能及早访问 Oracle Java 更新,以便在这些更新公开时测试我的 RIA 并避免防火演习?