Jre-6u3 consome quase 256 de memória!

11 respostas
L

Olá pessoal, eu gostaria de tirar uma dúvida que procurei no google e no próprio site da sun e não achei, talvez vocês possam me ajudar. Eu tenho um VPS com 256 de memória, sem o java executando ele usa só 40 mb de memória, se eu executar o java ele usa quase a memória inteira 220mb.

Eu tenho um servidor de chat e o tomcat e tô usando eles com o jre-6u3-linux-i586, ambos funcionam normalmente, mas não consigo usar os dois ao mesmo tempo, quando tento executar o segundo não funciona segue a memória;

total       used       free     shared    buffers     cached

Mem: 256 233 22 0 0 0
-/+ buffers/cache: 233 22
Swap: 0 0 0

Desde já agradeço a galera pela ajuda, []'s a todos.

11 Respostas

F

Nao fuciona por que ?

Existe algum stack trace que vc poderia mostrar ?

A ideia que surge logo de cara eh que as aplicacoes utilizam uma mesma porta e por isso dah pau qdo se executam simultaneamente.

L

Opa, obrigado por responder, na verdade eu tenho 210 de memória disponível sem estar executando elas, eu uso Centos 4.x e jre-6u3-linux-i586

se eu executar qualquer executável .jar ou o tomcat a memória vai toda por água abaixo me sobranso só 20mb de memória, Abraços.

F

Tentar configurar o heap inicial para um valor baixo, utilizando -Xms como parametro da JVM na sua aplicaçao

Dá uma olhada nessa pagina de tunning

http://www.caucho.com/resin-3.0/performance/jvm-tuning.xtp

Eu utilizo a mesma versao JVm que vc e uma aplicacao Swing basica fica com uns 50 Mg.

L

Mas isso se aplica também ao tomcat 5.5.25? ele também vai ficar mais leve? Abraços…

rubinelli

Deve funcionar, sim. O problema é que você corre o risco de começar a ver Out Of Memory Errors na sua aplicação por causa do heap menor.

Eu pessoalmente acredito você tenha que fazer um upgrade no seu plano. 512MB deve rodar bem, talvez até 384MB dê. Agora 256… é difícil.

F

Em um caso extremo nao daria pra fazer um tunning no Tomcat para utilizar menos memoria, como no Jboss ?

Ironlynx

Esse servidor de chats é pesado?O chat tem muitas abas swing e coisa parecida?O tunning no Tomcat pode ser necessário…
É estranho bater 200MB, eu só chego nisso usando o JFreeChart com resoluções na casa dos 2400x1600 em gráficos com dezenas de barras…

A única coisa estranha que eu estou tendo com essa JRE é que meu computador deixou de ler .jar! :shock:
Recebo toda hora um “could not find main class.Program will exit.”
Detalhe: Se eu converter o MESMO .jar para .EXE com o Launch4J, funciona! :shock:
Alguém já teve um problema parecido?

L

Nada, a aplicação no servidor é um processo simples mesmo, só tem uma classe que só recebe as conexões e recebe as strings e envia de volta, já a aplicação cliente é feita no delphi mas também é simples e não puxa quase nada do servidor, eu pedi ao cara que me aluga o servidor pra dobrar minha memória pra 512 só pra testar, eu iniciei a minha aplicação e o tomcat e me consome mais de 400mb de memória, consome quase o dobro do windows vista ou seja, quase o dobro que um sistema operacional pesado consome. Na verdade eu tô começando a achar que o problema tá no jre que é ele quem tá consumindo isso, porque coincidentemente as duas aplicações tão consumindo quase a mesma coisa de memória cada uma…

Agora uma dúvida, eu ouvi falar no tal mod_jk que é possível rodar as páginas jsp que é o meu caso no apache, mas eu tenho um problema, no meu servidor tem aquele tal de LIGHTTPD. Tem algum jeito de usar o mod_jk nesse webserver aí, se tiver como, vai dar no mesmo ou pode consumir menos?

Java_Boy

Ironlynx

Cara, exatamente o mesmo problema que eu hehe, e se eu quiser executar só na base da linha de comando

leogazio

Putz, pode ser problema na perfomance da aplicação em si.

pcalcado

Que tal tentar rodar a aplicação no jetty e não no tomcat?

De qualquer forma, geralmente um aplicação Java com um limite de memória tão baixo vai ter problemas. Se voc6e tem um limite agressivo desses deve considerar como fato limitante na arquitetura, talvez seja hora de refatorar o sistema e tirar alguma gordura. De qualquer forma use um profiler e veja o que consome mais memória na sua aplicação, se são seus objetos ou frameworks e bibliotecas usados.

Com esse limite eu con sideraria uma arquitetura muito simples em Java ou o uso de algo menos gorduroso como Ruby ou PHP.

L

Opa moderador, não minha aplicação não tem nada a ver com o tomcat, o tomcat vai ser pra outra coisa, a minha aplicação eu rodo só com o java mesmo normal igual qualquer executável jar tipo
java -jar /caminho/do/arquivo.jar & e fica rodando em background lá como servidor de soquete recebendo as conexões das aplicações cliente (um messenger), não é web não, []'s.

Criado 25 de janeiro de 2008
Ultima resposta 27 de jan. de 2008
Respostas 11
Participantes 6