JVM Como aumento a memória?

11 respostas
Sorriso

BOa Tarde…

Bom, estou trabalhando em uma API que criptografa arquivos de várias extensões…

Hehe ele está funcionando legal, porem para arquivos pequenos de até 1M…

Porem quando vou Criptografar arquivos de tamanho acima de 2M dá o seguinte Erro…

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space

E Agora…??? :roll:

11 Respostas

T

Credo, como é que você consegue estourar a memória com criptografia? O seu algoritmo deve ter algum problema.

Sorriso

I don’t know Sir!!! :oops:

K

Altere a sua VM arguments

segue abaixo as configurações que deixei para um aplicativo que desenvolvo mas isso depende tambem da capacidade da sua maquina.

-vmargs -Xmx1024M
-Xmx1536M
-XX:PermSize=64M

espero ter ajudado!

Luiz_Gustavo

Opa, beleza?
Olha só, essa é uma das melhores fontes sobre parâmetros da JVM que eu encontrei na net.
Há um artigo muito bom na última Mundo Java também, mostrando como alterar esses parâmetros em ferramentas e servidores.

Abraço!

Sorriso

Bom pessoal o erro acontece quando o program utiliza a API do Axis

precisamente em uma parte do código assim

handlerChain.destroy();

Luiz_Gustavo

Sorriso:
Bom pessoal o erro acontece quando o program utiliza a API do Axis

precisamente em uma parte do código assim

handlerChain.destroy();

Certo.
Independentemente do ponto onde o erro ocorre, este erro está relacionado à falta de memória para a operação, configurada na JVM do seu ambiente.
Você está executando essa aplicação em ambiente web ou desktop?
Se for web, qual servidor você está utilizando?

Abraço!

ViniGodoy

I don’t know Sir!!! :oops:

Concordo com o Thingol. Se você não sabe, sugiro que você baixe um profiler, como o do próprio Netbeans, ou use o VisualVM para ver como sua aplicação está gastando a memória.

As soluções envolvendo aumento de heap são paleativas. Primeiro corrija o problema e, se ficar comprovado de que ele não existe e que você precisa mesmo é de mais memória, aí sim, aumente o Heap.

Sorriso

I don’t know Sir!!! :oops:

Concordo com o Thingol. Se você não sabe, sugiro que você baixe um profiler, como o do próprio Netbeans, ou use o VisualVM para ver como sua aplicação está gastando a memória.

As soluções envolvendo aumento de heap são paleativas. Primeiro corrija o problema e, se ficar comprovado de que ele não existe e que você precisa mesmo é de mais memória, aí sim, aumente o Heap.

O Eclipse tem algum plugin para isto???

Sorriso

Luiz_Gustavo:
Sorriso:
Bom pessoal o erro acontece quando o program utiliza a API do Axis

precisamente em uma parte do código assim

handlerChain.destroy();

Certo.
Independentemente do ponto onde o erro ocorre, este erro está relacionado à falta de memória para a operação, configurada na JVM do seu ambiente.
Você está executando essa aplicação em ambiente web ou desktop?
Se for web, qual servidor você está utilizando?

Abraço!

Estou criando um WebService…hehe squeci de falar…

Luiz_Gustavo

Eu nunca cheguei a usar, mas tem o TPTP para o Eclipse:

http://www.eclipse.org/articles/Article-TPTP-Profiling-Tool/tptpProfilingArticle.html

Abraço!

ViniGodoy

As vezes que tentei instalar o TPTP foi um grande inferno. Eu desenvolvia em Eclipse e usavamos o Netbeans para profiling. Você não precisa criar um projeto inteiro. Você pode associar o profiler a um programa que já está rodando, tranquilamente. Ou você pode iniciar um .jar em modo profile.

Criado 6 de julho de 2009
Ultima resposta 6 de jul. de 2009
Respostas 11
Participantes 5