tenho um aplicativo ao qual eu não posso modifica-lo que precisa ter de JVM 1gb alocado, mas quando eu executo o comando no prompt, me vem o seguinte erro:
Olá Marco, logo imaginei que não seja problemas de hardware, e sim do SO, vc conhece alguma solução para resolver isso dentro do Windows XP, se eu não me engano ha uma semana atraz eu tinha windows 7 nesse equipamento, e acho que eu havia carregado 1gb no JVM.
Olá cobra. A resposta pode estar em um memory leak, nessa aplicação. Execute a jvisualvm, e faça um profiler no software, para ver qual abjeto está alocando memória, e posteriormente não liberando o espaço desnecessário.
Mesmo eu executando o seguinte comando, o java me retorna o mesmo erro
java -jar -Xmx1024m -Xms1024m -version
se eu executar o comando acima com as variaveis abaixo de 700 funciona e me retorna a versão do java
java version “1.6.0_18”
Java™ SE Runtime Environment (build 1.6.0_18-b07)
Java HotSpot™ Client VM (build 16.0-b13, mixed mode)
então o problema é entre o JAVA e o Ruindows
Abraços.
[/quote]
Cobra, aloca um espaço menor de memória no heap, e usa a jvisualvm para ver se não existe memory leaks. Se o seu software está estourando o heap, pode ter certeza que ha leaks ae.
Concordo com o Julio. Sua aplicação precisa MESMO de 1Gb para rodar? O que você está carregando aí?
Imagens gigantes?
Provavelmente existe algum tipo de memory leak.
[/quote]
Olá,
Então eu não desenvolvi o aplicativo, mas ele carrega milhares de informações, sim ele usa um banco de dados de sql de mais de 50mb, não tenho a menor idéia de JAVA. e eu já tentei colocar para criar a JVM com menos e durante a execução do aplicativo ocorre o erro de falta de memória.
Concordo com o Julio. Sua aplicação precisa MESMO de 1Gb para rodar? O que você está carregando aí?
Imagens gigantes?
Provavelmente existe algum tipo de memory leak.
[/quote]
Olá,
Então eu não desenvolvi o aplicativo, mas ele carrega milhares de informações, sim ele usa um banco de dados de sql de mais de 50mb, não tenho a menor idéia de JAVA. e eu já tentei colocar para criar a JVM com menos e durante a execução do aplicativo ocorre o erro de falta de memória.
Snif.
[/quote]
Ow Jesus… procura saber sobre a jvisualvm e sobre memory leaks. A aplicação deve ter um memory leak, ou seja vazamento de memoria. Em algum lugar dela existe um objeto sendo alocado na memória, que não está sendo liberado. Se você alocar x de memória, esse vazamento vai consumir x até estourar o heap.
Com a jvisualvm é possível descobrir qual objeto está estourando, e então tomar as medidas cabíveis.
Aproveitando o topico, existe alguma maneira de alterar os valores do Xmx e Xms dentro do codigo?
pois preciso que a aplicação nao fique com a janela do prompt aberta…
como acontece quando executo o comando: java -jar -Xmx256m -Xms256m aplicativo.jar