ExpertiDict

Java · Intermediário · Português · Técnico

opção Xmx

/ˈɔpsɐ̃w ˈʃis ˈẽmi ˈʃis/substantivo

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.jar

Exemplos

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.

Veja também

Todos os termos de Java