Früher war die einzige Möglichkeit um Systeminformationen zu erhalten, die Klasse Runtime. In JEE Versionen ab Version 6 kann über die JMX (Java Managment Extension) auf diese Informationen zugegriffen werden. Eine entsprechende Bean kann mit Hilfe von
final MemoryMXBean memoryBean = ManagementFactory.getMemoryMXBean();
angefordert werden. Eine Ausgabe kann wie folgt realisiert werden, wobei die Werte noch formatiert werden sollten.
/** @return Nutzung heap / nonHeap Informationstexte */ public String getMemoryInfoText() { StringBuilder buffer = new StringBuilder(); MemoryUsage memHeap = this.memoryBean.getHeapMemoryUsage(); MemoryUsage memNonHeap = this.memoryBean.getNonHeapMemoryUsage(); if (memHeap != null) { buffer.append("Heap: " + memHeap.getUsed() + " / " + memHeap.getCommitted( + " / " + memHeap.getMax()); } if (memNonHeap != null) { if (buffer.length() > 0) { buffer.append("\n"); } buffer.append("NonHeap: " + memNonHeap.getUsed() + " / " + memNonHeap.getCommitted() + " / " + memNonHeap.getMax()); } return buffer.toString(); }