Aumentando a memória do Java do OpenFire


Vou deixar uma dica para quem usa o servidor do OpenFire e precisa aumentar a memória do Java porque está dando a mensagem OutOfMemoryError na página de login do Openfire e consequentemente a galera que está conectada já começou a reclamar que não consegue mais entrar no Spark. O erro é como este abaixo.

HTTP ERROR 500

Problem accessing /login.jsp. Reason:

    Java heap space

Caused by:

java.lang.OutOfMemoryError: Java heap space

Powered by Jetty://

fonte: https://mastigado.wordpress.com

Primeiro, a dica para usuários Windows.

Você deve ir no diretório onde está instalado o OpenFire e lá, entrar na pasta bin.

Aqui você terá de escolher uma das 2 condições:

1 – Se você utiliza o OpenFire como serviço configurado no Windows, crie um arquivo com o nome openfire-service.vmoptions e dentro dele coloque os parâmetros abaixo um em baixo do outro como estão.

-Xms512m
-Xmx1024m

Lembrando que o primeiro parâmetro diz a grosso modo com quanto de memória a virtual machine para este serviço irá reservar de memória inicialmente e o segundo é para o máximo que ela poderá chegar. Portanto, você pode setar o primeiro com 1024 e o segundo com 2048 se quiser e assim por diante, mas é claro, você tem que ter memória disponível para isso, caso contrário o OpenFire nem irá iniciar.

2 – Se você não utiliza o OpenFire como serviço, crie um arquivo com o nome openfired.vmoptions dentro do mesmo lugar e coloque os parâmetros como descrito acima no primeiro passo.

3 – Em seguida, reinicie o OpenFire.

Segundo, a dica para usuários Linux.

Bem, apesar de ainda não ter tido a oportunidade de instalar o Openfire no Linux(), acredito que da maneira abaixo possa funcionar.

1 – Você deve procurar e ir até a  instalação do Openfire(li num blog que pode ser na /opt/openfire) e lá dentro dele, também procurar o diretório bin como no Windows, mas neste você deverá editar um arquivo chamado openfire.

2 – Em seguida, descomente a linha INSTALL4J_ADD_VM_PARAMS como no arquivo abaixo.


#! /bin/sh

# Uncomment the following line to override the JVM search sequence

# INSTALL4J_JAVA_HOME_OVERRIDE=

# Uncomment the following line to add additional VM parameters

# INSTALL4J_ADD_VM_PARAMS=

#---------------------------------------------------------------------

INSTALL4J_ADD_VM_PARAMS="-Xms512m -Xmx1024m"

#---------------------------------------------------------------------

Após a alteração acima, deverá ficar como na figura abaixo.

Status da utilização de memória do Java no OpenFire

Status da utilização de memória do Java no OpenFire

Ainda no blog do Mundo Open Source, há uma dica para quem usa distribuições que usam pacotes .rpm.

  • Editar o arquivo /etc/sysconfig/openfire;
  • Descomentar a linha OPENFIRE_OPTS=-Xmx1024m.

Devo agradecer a lista de emails do Openfire e o do blog do Mundo Open Source que explicou muito bem o post de forma a ter me ajudado muito a resolver os pepinos de memória daqui.

Até+🙂 .

fonte: https://mastigado.wordpress.com

Sobre Mastigado
Sou um daqueles que precisa mudar o mundo.

30 Responses to Aumentando a memória do Java do OpenFire

  1. Shadow disse:

    Funcionou mt bem no Windows.

    Curtir

  2. miguel@mthost.com.br disse:

    funcionou perfeitamente no Linux

    Curtir

  3. Wellington Wilczak disse:

    Funcionou de primeira, no windows server 2008. Muito bom

    Curtir

    • mastigado disse:

      Belz, valeu! Valeu mesmo.

      Curtir

  4. Rodrigo disse:

    Show de Bola! Vi a questão do aumento da memória Java.. Realmente funcionou! Mas qual a melhor configuração dela para 800 usuários? Grato

    Curtir

    • mastigado disse:

      Olha só Rodrigo.
      Aqui na empresa onde trabalho, temos aproximadamente 200 a 250 usuários e aí eu deixo com 1GB de ram, daí fica deste jeito: 284,88 MB of 989,88 MB (28,8%) used.
      Você pode ver que tem memória de sobra aí, mas em horários de pico, já vi ele utilizando quase 400 megas(e ainda tem de sobra).
      Acho que você poderia se basear nisso e talvez colocar uns 2 gigas ou 3, mas isso eu digo que é para ficar folgado, pois sou mesmo exagerado em relação a estes assuntos de aplicações com vários usuários acessando-as.
      O mais importante é você ir definindo isso conforme o Openfire vai te mostrando o que ele está consumindo.

      Curtir

  5. alexandre disse:

    Bom dia, não estou conseguindo aumentar para nais de 1024mb, quando coloco por exemplo 2048 o openfire nem inicia, tenho 8gb no windows.

    Curtir

    • mastigado disse:

      O seu Windows é 32 ou 64 bit?

      Curtir

    • mastigado disse:

      Caro amigo.
      Nesta linha aqui:

      INSTALL4J_ADD_VM_PARAMS=”-Xms512m -Xmx1024m”,

      tente fazer isso INSTALL4J_ADD_VM_PARAMS=”-Xms1024m -Xmx2048m”

      ao invés disso INSTALL4J_ADD_VM_PARAMS=”-Xms512m -Xmx2048m”(que é o que você pode estar tentando fazer).

      Curtir

      • Solange Carminati disse:

        Amigo, o meu acontece a mesma coisa e tenho 16GB de RAM. Não sei mais o que fazer, tenho uma media de 100 usuarios na rede parados, ja tentei colocar um java mais antigo, tentei definir este valor direto no java, e não funciona, estou com o openfire 4.0.2.

        Curtir

      • Mastigado disse:

        Bem. Eu já coloquei uma vez aproximadamente 16 GB de RAM para o Java que estava sendo usado pelo Apache Tomcat no Linux e tive alguns travamentos enquanto não conseguia configurar corretamente. Nesse processo aprendi que toda a vez em que tentava colocar uma quantidade inicial memória para a JVM acima de 1024, dava pau. Também descobri que se meu servidor tem 16 GB, não adianta colocar tudo para a JVM porque tem um computador funcionando ali que precisa tanto de memória quanto o Java, portanto acredito que o máximo de memória do Java não deve ser igual a quantidade de memória física real.

        Pesquisando na net encontrei um link bem esclarecedor a este respeito (sugiro que leia para entender).

        E com base nas informações do link fiz uma linha do que você poderia tentar usar para substituir no seu arquivo.

        -Xms1024m -Xmx10240m -XX:PermSize=1024m -XX:MaxPermSize=10240m

        Se você estiver no Linux é possível ver a quantidade de memória utilizada dando o comando free -m.

        Se ainda não funcionar, poste aí.

        Curtir

      • Solange Carminati disse:

        Primeiramente obrigado pela ajuda, o meu é Windows 7 Pro com 16GB de RAM, vi o link que mandou, é bem interessante, mas acho que o meu caso é algum problema na maquina ou coisa parecida, pois o micro tem 16GB de RAM, no arquivo do open fire como todos os posts pede, alterei para -Xms1024m -Xmx2048 e ele nem starta o openfire, se eu baixar para -Xms1024m -Xmx1280m por exemplo, ele até abre (demora uma eternidade) mas abre, vejo no painel principal, aparece até que baixou um pouco a memoria do java, ficando com uns 86% porém os spark nas maquinas do usuario abrem em algumas e logo trava tudo e não entra mais ninguem.

        Curtir

      • Mastigado disse:

        Olha, só o fato de seu SO ser 64bit não deveria ter este tipo de problema.
        Você testou esta linha que te passei: -Xms1024m -Xmx10240m -XX:PermSize=1024m -XX:MaxPermSize=10240m? Percebe que eu coloquei 1GB inicial para a JVM do Java já ligar com este valor reservado e 10GB reservado para o toda aquele Java utilizado pela sua app. Porém, o que você tem que saber é que isso varia de máquina para máquina e pode ser que algumas não aceitem este 1GB inicial, por isso eu disse para você ir testando valores que coubessem para ele.
        Eu também coloquei dois valores adicionais para ver se o Openfire aceita, pois no Tomcat aceitava e (eu acho, ou na verdade um Jetty talvez) que tem um Apache embutido rodando o Openfire.

        E como eu te disse antes, fiz várias alterações por conta disso e inclusive no último tutorial que escrevi uso um recurso parecido na área onde trato da instalação do Apache Tomcat.

        Eu acredito que se você olhar com um pouco mais de pesquisa você irá conseguir aumentar mais a memória do Openfire.


        Olha só, contactei o local onde trabalhava e pedi a linha que eu utilizava no servidor de lá. Então tente colocar isso aqui:
        -XX:MaxPermSize=512m -Xms2048m -Xmx10240m

        Curtir

  6. Diego T. Resende disse:

    Funcionou perfeitamente no Server 2008, Parabéns ao post, forte abraço valeu brother!

    Curtir

    • mastigado disse:

      Valeu amigão.🙂

      Curtir

  7. itajacy disse:

    Perfeito! Funcionou de primeira no windows.

    Parabéns pelo post.

    Muito obrigado

    Curtir

    • Mastigado disse:

      De nada meu caro.

      Curtir

  8. Anderson Xavier disse:

    Opa… otima dica, salvou mesmo! Parabens!

    Curtir

    • Mastigado disse:

      Show! Valeu meu amigo.

      Curtir

  9. Solange Carminati disse:

    Tenho um servidor de 16GB de RAM e não consigo aumentar para -Xms1024m e -Xmx2048m que ele trava, como posso resolver isso? Obrigado.

    Curtir

    • Mastigado disse:

      Olá! Qual o sistema operacional que você está utilizando?

      Curtir

      • Solange Carminati disse:

        Estou usando o Windows 7 Professional 64 Bits, em todos os forum a solução que eu acho sempre é a mesma, ir até a pasta BIn e mudar o valor do arquivo, no meu caso quando coloco por exemplo, -Xms1024m/ -Xmx2048m o openfire nem starta.
        E o mais estranho é que consome muita memoria java, pois tenho a rede nem 100 usuarios e está utilizando qse 100% da memoria.

        Curtir

      • Mastigado disse:

        Você tem que ir fazendo testes. Não basta apenas utilizar uma configuração e achar que vai dar certo. Se não funcionou com -Xms1024m/ -Xmx2048m, tente -Xms512m -Xmx2048m, senão -Xms256m -Xmx1024m e assim por diante, vá diminuindo até funcionar e quando funcionar, vá aumentando com o tempo para você ver onde para. Verifique se na configuração do Java de sua máquina (no Painel de Controle) existe alguma restrição e por aí vai. Inclusive, você deve também verificar os logs de erro produzidos pelo Openfire, pois neles podem estar o real motivo porque você não consegue fazer esta alteração.
        Verifique também se a configuração que te orientei a fazer funciona e se não funcionar, tente alterá-la de outra formas, pois como te falei anteriormente, você deve entender para que estes parâmetros servem, inclusive deixei um link de um post para que você leia e entenda o que são cada um deles.
        Infelizmente não posso acessar sua máquina para poder averiguar quais os erros (cagadas) que você pode estar fazendo ou que já existem em seu ambiente, mas com base na experiência que tive com aumento de memória do Java para um servidor que atendia requisições vindas de todo o país, recomendo mais uma vez que você leia e interprete este material.
        Se ainda assim, depois de fazer todas essas verificações e testes e não conseguir, fique a vontade em postar.

        Lembre-se também que não existe este “/” no meio desta configuração aqui: -Xms1024m/ -Xmx2048m. O correto é assim: -Xms1024m -Xmx2048m

        Curtir

  10. Elifas disse:

    Olá pessoal, eu não consegui aumentar. Meu PC é Windows Server 2008 R2 Standard 64 bit, 4GB de memória e OpenFire 4.0.2.

    Alguém me ajude por favor.

    Curtir

    • Mastigado disse:

      Tente a dica que informei.

      Curtir

  11. Elifas disse:

    Olá pessoal.

    Socorro, memória do Java está 99,8%.

    Não consegui aumentar, tentei vários números, mas não deu certo.

    Meu PC é Windows Server 2008 R2 Standard 64 bit. 4GB de memória e Openfire 4.0.2.

    Alguém me ajude por favor.

    Curtir

    • Mastigado disse:

      Meu caro, vamos lá.

      Você já tentou colocar algo assim: -Xms1024m -Xmx2048m?

      Me diga aí, pois se você tem 4GB somente em sua máquina, não vai dar para evoluir muito porque este parâmetro Xms já diz o que você vai ter de reservar inicialmente para o Java e o Xmx informa o máximo que a VM do Java pode chegar. Isso sem contar que você tem que ter X de memória disponível para o Windows. Sugiro que você pegue o que já existe e vá aumentando (proporcionalmente) aos poucos.

      Curtir

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: