Java · Intermediário · Português · Técnico
opção Xmx
Flag da JVM que define o tamanho máximo da heap, como -Xmx2g. Ao passar do limite, o programa lança OutOfMemoryError. Seu par é -Xms, o tamanho inicial.
Onde usar
Aparece em Dockerfiles e manifests: 'defina o Xmx abaixo do limite do container'. Nas JVMs recentes, MaxRAMPercentage costuma ser melhor.
Em código
java -Xms512m -Xmx2g -jar app.jar
# no container, proporcional à memória:
java -XX:MaxRAMPercentage=70 -jar app.jarExemplos
Define o Xmx em dois gigas para esse serviço.
O container foi morto porque o Xmx era igual ao limite de memória.
Cuidado
A heap não é toda a memória do processo: Xmx igual ao limite do container leva o sistema a matar o processo por falta de memória.
Sinônimos
-Xmx
Antônimos
Xms
Origem
X indica opção não padrão; mx vem de max heap size, tamanho máximo da heap.