/** * Requires JVM argument {@code -XX:NativeMemoryTracking=summary}. * Logs a warning if there was an error getting the NMT summary or if NMT was disabled. * This warning will be logged only once per process instance. * @return null if there was an error getting the summary. */ @Nullable static Nmt get() { final String nmt = invoke(); if (nmt == null) { return null; } try { return parse(nmt); } catch (IllegalArgumentException e) { LOG.warn("un-parseable NMT data:\n{}", nmt, e); return null; } }
public static void main(String[] args) { System.out.println("VM output:"); System.out.print(Nmt.invoke()); System.out.println("our parsed/formatted version:"); System.out.print(Memory.formatNmt()); } }