Varia a seconda dell'implementazione e della versione, ma in genere dipende dalla VM utilizzata (ad esempio client o server, vedere i parametri -client
e -server
) e nella memoria di sistema.
Spesso il suo valore predefinito è 1/4 della memoria fisica o 1 GB (a seconda del valore minore).
Anche le opzioni di configurazione Java (parametri della riga di comando) possono essere "esternalizzate" a variabili di ambiente incluso lo -Xmx
, che può modificare l'impostazione predefinita (ovvero specificare un nuovo valore predefinito). In particolare la variabile di ambiente JAVA_TOOL_OPTIONS
viene controllata da tutti gli strumenti Java e utilizzata se esiste (ulteriori dettagli here e here).
è possibile eseguire il seguente comando per visualizzare i valori predefiniti:
java -XX:+PrintFlagsFinal -version
Ti dà un elenco moooolto, -Xmx
è in MaxHeapSize
, -Xms
è in InitialHeapSize
. Filtra l'output (ad esempio |grep
su linux) o salvalo in un file per poterlo cercare.
Significa che se il sistema dispone di 16 GB di RAM, la dimensione sarà maggiore rispetto a 512 MB. –
Grazie, quanto più grande? – Vitaly
Cerca "dimensione massima heap" [qui] (http://docs.oracle.com/javase/8/docs/technotes/guides/vm/gc-ergonomics.html) – alfasin