In order to determine java heap size I used the following command:
java -XX:+PrintFlagsFinal -version -h | grep HeapSize
uintx ErgoHeapSizeLimit = 0 {product}
uintx HeapSizePerGCThread = 87241520 {product}
uintx InitialHeapSize := 1586475520 {product}
uintx LargePageHeapSizeThreshold = 134217728 {product}
uintx MaxHeapSize := 25383927808 {product}
java version "1.7.0_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)
However, I am unable to understand as to what is meant by ErgoHeapSizeLimit, HeapSizePerGCThread, InitialHeapSize, LargePageHeapSizeThreshold, MaxHeapSize, etc. Can someone please briefly explain these terms. Actually I am a complete novice at java
Actually I need to determine the heap size which my machine can allocate to a process? Because one of my application demands the following parameters: -server, -Xmx16G or better, etc. to be set.