Skip to content

Instantly share code, notes, and snippets.

@cosminpopescu14
Created October 31, 2019 20:06
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save cosminpopescu14/953926a9f76ffbab0d45c17cee9bf1e2 to your computer and use it in GitHub Desktop.
Save cosminpopescu14/953926a9f76ffbab0d45c17cee9bf1e2 to your computer and use it in GitHub Desktop.
Get details about JVM using MXBean
package com.company;
import java.lang.management.ManagementFactory;
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
// write your code here
var info = new HashMap<>();
var osMxBean = ManagementFactory.getOperatingSystemMXBean();
var threadsMxBean = ManagementFactory.getThreadMXBean();
var cpu = osMxBean.getArch();
var os = osMxBean.getName();
var osVersion = osMxBean.getVersion();
var memBean = ManagementFactory.getMemoryMXBean();
var memHeapUsage = memBean.getHeapMemoryUsage();
var nonHeapUsage = memBean.getNonHeapMemoryUsage();
info.put("os", os);
info.put("osVersion", osVersion);
info.put("arch", cpu);
info.put("threads", String.valueOf(threadsMxBean.getThreadCount()));
info.put("heapInit", String.valueOf(memHeapUsage.getInit() / 1024));
info.put("heapMax", String.valueOf(memHeapUsage.getMax() / (1024 * 1024)));
info.put("heapCommit", String.valueOf(memHeapUsage.getCommitted() / 1024));
info.put("heapUsed", String.valueOf(memHeapUsage.getUsed() / 1024));
info.put("nonHeapInit", String.valueOf(nonHeapUsage.getInit() / 1024));
info.put("nonHeapMax", String.valueOf(nonHeapUsage.getMax() / 1024));
info.put("nonHeapCommit", String.valueOf(nonHeapUsage.getCommitted() / 1024));
info.put("nonHeapUsed", String.valueOf(nonHeapUsage.getUsed() / 1024));
info.forEach((k, v) -> System.out.println(k + ": " + v));
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment