当前位置:   article > 正文

JAVA获取系统CPU、系统内存、JVM使用率_java获取电脑内存、cpu使用率

java获取电脑内存、cpu使用率

一、CPU使用情况。

  1. public double getCPUUsage() {
  2. double cpuUsage = 0;
  3. try {
  4. MBeanServerConnection mbsc = ManagementFactory.getPlatformMBeanServer();
  5. ObjectName name = ObjectName.getInstance("java.lang:type=OperatingSystem");
  6. AttributeList list = mbsc.getAttributes(name, new String[]{"ProcessCpuLoad"});
  7. if (list.isEmpty()) {
  8. return 0;
  9. }
  10. Attribute att = (Attribute) list.get(0);
  11. Double value = (Double) att.getValue();
  12. // value为-1表示无法获取CPU使用情况
  13. if (value == -1) {
  14. return 0;
  15. }
  16. cpuUsage = ((int) (value * 1000) / 10.0);
  17. } catch (Exception e) {
  18. e.printStackTrace();
  19. }
  20. return cpuUsage;
  21. }

二、系统内存使用情况。

  1. double memoryUsage = 0;
  2. try {
  3. MBeanServerConnection mbsc = ManagementFactory.getPlatformMBeanServer();
  4. ObjectName name = ObjectName.getInstance("java.lang:type=OperatingSystem");
  5. AttributeList list = mbsc.getAttributes(name, new String[]{"TotalPhysicalMemorySize", "FreePhysicalMemorySize"});
  6. if (list.isEmpty()) {
  7. return 0;
  8. }
  9. long totalMemory = 0;
  10. long freeMemory = 0;
  11. Attribute att = (Attribute) list.get(0);
  12. totalMemory = Long.parseLong(att.getValue().toString());
  13. att = (Attribute) list.get(1);
  14. freeMemory = Long.parseLong(att.getValue().toString());
  15. memoryUsage = (totalMemory - freeMemory) * 100.0 / totalMemory;
  16. } catch (Exception e) {
  17. e.printStackTrace();
  18. }
  19. return memoryUsage;
  20. }

三、JVM使用情况。

  1. public double getJVMUsage() {
  2. double jvmUsage = 0;
  3. try {
  4. Runtime runtime = Runtime.getRuntime();
  5. long totalMemory = runtime.totalMemory();
  6. long freeMemory = runtime.freeMemory();
  7. long usedMemory = totalMemory - freeMemory;
  8. jvmUsage = usedMemory * 100.0 / totalMemory;
  9. } catch (Exception e) {
  10. e.printStackTrace();
  11. }
  12. return jvmUsage;
  13. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/blog/article/detail/58857
推荐阅读
相关标签
  

闽ICP备14008679号