Paul
Paul

Reputation: 3582

What does 'MaxRAM' JVM parameter signify?

I'm looking at the configuration of a JVM running on a linux server. when I run

java -XX:+PrintFlagsFinal | less | grep -iE 'MaxRam'

Which seems to basically print out just about every parameter the JDK knows about

I see

uint64_t MaxRAM = 137438953472  {pd product}

but I can't seem to find much documentation on this flag.

I found that "{pd product}" signifies "Platform Dependent Product: An officially supported, internal JVM option"

Anyone know exactly what this parameter signifies, or where I can read in more detail about platform specific JVM flags?

Misc details:

Java -version: .

java version "1.6.0_35" Java(TM) SE Runtime Environment (build 1.6.0_35-b10) Java HotSpot(TM) 64-Bit Server VM (build 20.10-b01, mixed mode)

uname -a

Linux [SERVERNAME] 2.6.32-431.17.1.el6.x86_64 #1 [DATE] x86_64 x86_64 x86_64 GNU/Linux

Upvotes: 5

Views: 7136

Answers (1)

Tobi Tiggers
Tobi Tiggers

Reputation: 452

According to Standard Edition HotSpot Virtual Machine Garbage Collection Tuning Guide document the value in MaxRAM is used to calculate the Default Heap Size if no initial heapsize and max heap size is specified and contains as posted previously

Default Heap Size
Unless the initial and maximum heap sizes are specified on the command line, they are calculated based on the amount of memory on the machine. The proportion of memory to use for the heap is controlled by the command-line options InitialRAMFraction and MaxRAMFraction
[...]
The value of MaxRAM is platform-dependent.

Referring to the The Java Virtual Machine Specification the size of the heap can change, depending of the implementation of the JVM.

The heap may be of a fixed size or may be expanded as required by the computation and may be contracted if a larger heap becomes unnecessary. The memory for the heap does not need to be contiguous. A Java Virtual Machine implementation may provide the programmer or the user control over the initial size of the heap, as well as, if the heap can be dynamically expanded or contracted, control over the maximum and minimum heap size.

And to answer your platform specific JVM flags question:
Java HotSpot VM Options

Upvotes: 6

Related Questions