O que significa a opção Java -Xmx?

java -Xmx1024m filename

o que significa o -Xmx ?

   

veja aqui: Doc Documento Java , diz,

-Xmx n
Especifique o tamanho máximo, em bytes, do pool de alocação de memory. Esse valor deve ter um múltiplo de 1024 maior que 2MB. Anexe a letra k ou K para indicar kilobytes, ou m ou M para indicar megabytes. O valor padrão é 64MB. O limite superior para esse valor será de aproximadamente 4000 m nas plataformas Solaris 7 e Solaris 8 SPARC e 2000 m nas plataformas Solaris 2.6 e x86, menos as despesas gerais. Exemplos:

  -Xmx83886080 -Xmx81920k -Xmx80m 

Portanto, em palavras simples, você está configurando a memory heap Java para um máximo de 1024 MB a partir da memory disponível, não mais.

Observe que não há espaço entre -Xmx e 1024m

Não importa se você usa letras maiúsculas ou minúsculas. Por exemplo: “-Xmx10G” e “-Xmx10g” fazem exatamente a mesma coisa.

 C:\java -X -Xmixed mixed mode execution (default) -Xint interpreted mode execution only -Xbootclasspath: set search path for bootstrap classs and resources -Xbootclasspath/a: append to end of bootstrap class path -Xbootclasspath/p: prepend in front of bootstrap class path -Xnoclassgc disable class garbage collection -Xincgc enable incremental garbage collection -Xloggc: log GC status to a file with time stamps -Xbatch disable background compilation -Xms set initial Java heap size -Xmx set maximum Java heap size -Xss set java thread stack size -Xprof output cpu profiling data -Xfuture enable strictest checks, anticipating future default -Xrs reduce use of OS signals by Java/VM (see documentation) -Xcheck:jni perform additional checks for JNI functions -Xshare:off do not attempt to use shared class data -Xshare:auto use shared class data if possible (default) -Xshare:on require using shared class data, otherwise fail. The -X options are non-standard and subject to change without notice. 

A opção -Xmx altera o espaço máximo de heap para a VM. java -Xmx1024m significa que a VM pode alocar um máximo de 1024 MB. Em termos leigos, isso significa que o aplicativo pode usar no máximo 1024 MB de memory.

O uso do heap máximo para o aplicativo é de 1024 MB

-Xmx define o tamanho máximo de heap