Skip to content

Instantly share code, notes, and snippets.

@jerolba
Created March 19, 2019 19:54
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 jerolba/6a4c1e8e30b18d8d43cdb74ba480db07 to your computer and use it in GitHub Desktop.
Save jerolba/6a4c1e8e30b18d8d43cdb74ba480db07 to your computer and use it in GitHub Desktop.
MemoryMXBean mbean = ManagementFactory.getMemoryMXBean();
MemoryUsage beforeHeapMemoryUsage = mbean.getHeapMemoryUsage();
Object instance = codeThatCreatesComplexDataStructure();
MemoryUsage afterHeapMemoryUsage = mbean.getHeapMemoryUsage();
long consumed = afterHeapMemoryUsage.getUsed() -
beforeHeapMemoryUsage.getUsed();
System.out.println("Total consumed Memory:" + consumed);
@basavarajsva
Copy link

Prints consumed memory in KB's or MB's ??

@jerolba
Copy link
Author

jerolba commented Oct 1, 2020

If you go to JDK source code documentation you can see that getUsed() method returns consumed mermory in bytes:

https://github.com/openjdk/jdk/blob/1ce776a29c7a3c989bbbf26d69216a54c3e8b958/src/java.management/share/classes/java/lang/management/MemoryUsage.java#L203

@basavarajsva
Copy link

basavarajsva commented Oct 1, 2020

Thanks 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment