I am using -Xmx512m, after out of memory error, I got a heap dump. On loading this heap dump to JAVA VisualVM heap size shown is more than 1 GB.
Not able to understand how heap size has grown to 1 GB when my -Xmx value is 512 MB.

EDIT
I looked at the other question for which this question is marked as duplicate , I got one part of answer that JVM has Non Heap memory and other memory parts also ( given in below image )

But still one question is left. Is there any way I can identify size of only heap memory from a heap dump?
