Você pode aumentar o tamanho do heap passando os parâmetros -Xms e -Xmx da JVM, como abaixo:
Para arquivos jar:
java -jar -Xms4096M -Xmx6144M jarFilePath.jar
Para arquivos Java:
java -Xms4096M -Xmx6144M ClassName
Os parâmetros acima aumentam o InitialHeapSize (-Xms) para 4 GB (4096 MB) e o MaxHeapSize (-Xmx) para 6 GB (6144 MB).
Porém, o tamanho de heap da geração nova permanecerá o mesmo e o HeapSize adicional será adicionado ao tamanho de heap da geração antiga . Para igualar o tamanho dos Young Gen Heap e Old Gen Heap , use -XX: NewRatio = 1 -XX: -UseAdaptiveSizePolicy parâmetros.
java -jar -Xms4096M -Xmx6144M -XX:NewRatio=1 -XX:-UseAdaptiveSizePolicy pathToJarFile.jar
-XX: NewRatio = Tamanho da pilha de geração antiga: Jovem geração HeapSize (você pode jogar com essa proporção para obter a proporção desejada).
-Xmx6g
? Isso não funcionou? O que você observou?