Pessoal estou com um problema em um programa que fiz, ele tem a função de exportar algumas tabelas do banco para arquivos Excel, porém quando esta no meio da execução o seguinte erro é lançado: java.lang.OutOfMemoryError: Java heap space
Mudei a configuração do meu eclipse ini para -Xmx1024m, porém rodo e o erro persiste, tentei mudar a configuração do eclipse para -Xmx2048m, porém quando tempo abrir o eclipse aparece o seguinte erro “Failed to create the java Virtual Machine”.
:arrow: A primeira solução é bem lógica, aumentar os filtros de pesquisa, trazendo menos resultados;
:arrow: Você faz muitos selects? Se sim, verifique se vc não deixou de fechar algum ResultSet, Connection etc…
:arrow: Como última opção, vc pode fazer vários selects e ir colocando no Excel aos poucos, por exemplo, faça um select Limit 0, 100 depois um Limit 101, 200 etc… Dependendo do SGBD isso é possível. Não esqueça, novamente, de fechar os ResultSet depois de usá-los.
Adelar
Somente complementando. Verifica na exception lançada os pontos de execução no programa, pois pode ser que os parâmetros não estejam sendo passados corretamente para as consultas, ou algo neste sentido.
O erro “Failed to create the java Virtual Machine” que aparece quando seta para -Xmx2048m é que não existe toda esta memória livre na RAM. Funciona com -Xmx1024m pois esta quantidade está disponível.
[]'s
pmlm
Se o que estoira é a tua aplicação, não me parece que mexer com os parâmetros do eclipse vá resolver o problema…
Vinny, sabe por que eu abro o Eclipse e aparece: Failed to create The Java Virtual Machine?
Será alguma restrição na minha unidade?
Existe uma restrição de memória para VMs de 32 bits (algo em torno dos 1.2 GB). Por isso a mensagem.
Outra coisa: o Eclipse usa outra VM pra rodar os programas. De modo que você precisa alterar a memória do programa em “Run Configurations”.
Mas mesmo assim a dica do Vini é muitíssimo válida. Use um profiler antes de tudo porque aumentar a memória só irá retardar o tempo do estouro caso haja problemas no código.