Como aumentar limite de memoria da jvm?

10 respostas
furacao123

Aew galera estou tendo um problema ao executar uma aplicação na qual sempre me retorna um arquivo de log de erro com estouro de memória
se eu executo pelo dos

java -jar -Xss8M Aplicacao.jar

funciona normal mas como eu faço que o netbeans ja gere esse parametro embutido com o .jar da aplicação, para que não precise rodar no dos?

ja entrei em propriedades do meu projeto em Executar eu coloquei o comando -Xss8M em Opções da VM mas só funciona quando executo com a IDE como fazer isso ficar junto com o jar gerado em dist?

Obrigado.

10 Respostas

ViniGodoy

Não tem como. Infelizmente, esse comando é só via linha de comando mesmo.

Faça um .bat que o execute.

leonardobhbr

Amigo não trabalho com o netbeans mais creio que não tem jeito de embutir no jar, pois não funciona no MANIFEST.

Solução gerar um arquivo bat ou sh se for linux com a linha de comando

furacao123

eu nao consigo pelo menos colocar no atalho do .jar?

pois com .bat vai executar com o DOS junto…

leonardobhbr

Esses parametros e do java e não do seu arquivo jar se vc tenta adicionar esses paramentros no seu atalho do jar os parametros vao se passado no main da sua aplicação.

por isso tem que ser um bat ou um atalho do programa java e nao do seu jar.

Outra solução e criar um exe para o windows em Delphi, Vb ou outra linguagem, ou ate mesmo um outro jar e esse chamar sua aplicação

davidbuzatto

Encontrado em menos de 5 minutos no Google.

Coloque tanto o executar.bat quanto o executar.vbs no mesmo diretório do .jar.

executar.vbs:

Set WshShell = WScript.CreateObject("WScript.Shell") obj = WshShell.Run("executar.bat", 0) set WshShell = Nothing
executar.bat:

@echo off java -jar nomeDoSeuJar.jar
Duplo clique no executar.vbs. Tãdã!
Não sei se existe uma forma mais simples como nos UNIXes onde basta colocar um “&” no final da linha do comando desejado.

[]´s

ViniGodoy

Você pode usar javaw no lugar de java para evitar a janelinha do dos.

ViniGodoy

Mas eu concordo. Sempre achei que esses parâmetros deveriam ser parte do jar.

furacao123

Achei um programinha que converte um .bat para exe

Bat2Exe Converter

pra windows acho que vou fazer dessa forma pois assim da até pra colocar uma imagem de icone no meu executavel e outra quando o usuario set como default abrir arquivos .jar no winrar e tentam executar um .jar complica tudo pois o java nao esta como padrao gerando esse exe pelo menos acabo com esse problema

agora vou tentar da forma como voces me falaram

Valew

WellingtonRamos

davidbuzatto:
Encontrado em menos de 5 minutos no Google.

Coloque tanto o executar.bat quanto o executar.vbs no mesmo diretório do .jar.

executar.vbs:

Set WshShell = WScript.CreateObject("WScript.Shell") obj = WshShell.Run("executar.bat", 0) set WshShell = Nothing
executar.bat:

@echo off java -jar nomeDoSeuJar.jar
Duplo clique no executar.vbs. Tãdã!
Não sei se existe uma forma mais simples como nos UNIXes onde basta colocar um “&” no final da linha do comando desejado.

[]´s

Pode ser mais simples sim

Set WshShell = WScript.CreateObject("WScript.Shell") obj = WshShell.Run("javaw -jar seujar.jar", 0) set WshShell = Nothing
Não haveria necessidade de um arquivo bat.

WellingtonRamos

Uma outra alternativa seria a classe main chamar outra VM com as configurações de memória desejada utilizando o mesmo jar mas passando um main diferente (mesmo que utilizando o Runtime.getRuntime().exec(String command); ) onde os parâmetros de configuração poderiam ficar dentro de algum properties da própria aplicação.

Criado 29 de novembro de 2010
Ultima resposta 30 de nov. de 2010
Respostas 10
Participantes 5