Senza scomodare risorse esterne, senza nulla togliere a SIGAR (ottimo progetto), se quello che ti interessa è sapere l'occupazione di memoria puoi usare la java VisualVM che puoi avviare lanciando il comando "JAVA_HOME"/bin/jvisualvm.exe, da qui puoi vedere tutti i "processi" java avviati sulla virtual macchine e per ognuno ottenere diverse informazione tra cui anche l'occupazione e lo stato della memoria.
Un'altro modo per farlo può essere anche direttamente dal programma tramite le seguenti righe di codice:
codice:
System.out.println("Memoria Libera "+Runtime.getRuntime().freeMemory());
System.out.println("Memoria allocata per l'heap "+Runtime.getRuntime().totalMemory());
System.out.println("Massima memoria disponibile per l'heap "+Runtime.getRuntime().maxMemory());