Sugestões ? Dúvidas ? Envie-me um e-mail

Terça-feira, 12 de Agosto de 2008

Alterando a Memória Java do Openfire

Uma outra dúvida muito constante para os usuários do Openfire é como fazer para aumentar a memória Java para o aplicativo.

Nesse post vou demonstrar como fazer tal operação.

Usuários Linux:

  • Acesse o diretório raiz do Openfire (no meu caso fica em /opt/openfire)
  • Acesse o diretório bin
  • Edite o script openfire e descomente a linha INSTALL4J_ADD_VM_PARAMS como no exemplo 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" # o primeiro parâmetro é o mínimo e o segundo é o máximo. Ambos podem ser iguais, se for o caso.
#---------------------------------------------------------------------
  • Reinicie o Openfire.
Usuários Windows
  • Acesse o diretório raiz do Openfire
  • Acesse o diretório bin
  • Se você usa o Openfire como um serviço Windows, crie um arquivo de texto chamado openfire-service.vmoptions. Cada parâmetro da VM deve ser uma nova linha no arquivo. Por exemplo para setar um mínimo de 512M e máximo de 1024M, você deve usar:
-Xms512m
-Xmx1024m
  • Se você não usar o Openfire como serviço crie o arquivo openfired.vmoptions (o conteúdo é o mesmo, só muda o nome do arquivo).
  • Reinicie o Openfire
Espero que esse post ajude os usuários nessa dúvida que atormenta tanta gente.

UPDATE 14/08/08: O leitor Darkxnes deu a dica para usuários de Linux que usam o .rpm:
  • Edite o arquivo /etc/sysconfig/openfire
  • Descomente a linha: OPENFIRE_OPTS=-Xmx1024m
  • Altere o tamanho que se deseja (1024m é só uma sugestão).

17 comentários:

Anônimo disse...

Opa, uso o
openfire-3.5.1-1

Não encontrei nos Diretórios indicados, qual a versão que esta usando?!

Marcelo Terres disse...

Eu uso a versão 3.5.2, com o .tar.gz.

Você usa qual versão ?

[]s

Darkxnes disse...

Para Redhat editar o arquivo /etc/sysconfig/openfire e Descomente a Linha:

OPENFIRE_OPTS=-Xmx1024m

Altere o tamanho que se deseja.

Marcelo Terres disse...

Hey Darkxnes.

Obrigado pelo comentário. Vou adicionar ao post tua dica.

[]s

Rafael disse...

Bom Dia Marcelo

No S.O. Windows não estou conseguindo alterar a memória Java do Openfire, estou criando o arquivo conforme citado a cima mas não está dando certo. Poderia me ajudar?

Obrigado.

Marcelo Terres disse...

Oi Rafael.

Em princípio é só aquilo ali mesmo. Mas como nunca usei a versão pra Windows eu nunca precisei fazer isso.

Uma dica: inscreva-se na lista Openfire-BR e poste essa dúvida lá que tenho certeza que você conseguirá resolver seu problema.

[]s

Anônimo disse...

No FreeBSD :

adicione no /etc/rc.conf
openfire_enable="YES"
openfire_javargs='-Xmx1024m'

Flávio

Marcelo Terres disse...

Oi Flávio.

Obrigado pela dica.

[]s

Giba disse...

Oi gostaria de relatar minha experiência com o Windows.
Criei o arquivo conforme as instruções acima.
Testei várias configurações, muitas deram pau.
No final aquela que acabou resolvendo foi:

-Xms1024m
-Xmx1024m

Reiniciei o Openfire e passou a constar a seguinte informação:

77,14 MB of 1012,62 MB (7,6%) used

Acho até que ficou superdimensionado. Talvez a medida adequada fosse "k" ao invés de "m".
Depende de cada caso, eu creio.
Abraços!
Gilberto

Marcelo Terres disse...

Oi Gilberto.

Obrigado por participar e deixar seu comentário com a sua experiência.

[]s

joaocep disse...

No Opensolaris/Solaris

Adicione entre as "aspas" a quantidade de memória Java com o parâmetro "-Xmx256m" onde 256MB poderão ser alterados a quantidade de memória desejada ou disponível.

OPENFIRE_OPTS="${OPENFIRE_OPTS} -DopenfireHome=${OPENFIRE_HOME} -Xmx256m"

Anônimo disse...

@giba
-Xms32m -Xmm128m -Xmx2g -XX:NewRatio=2 -XX:MinHeapFreeRatio=20 -XX:MaxHeapFreeRatio=30


As opçoes dependem do uso. Um servidor que deve suportar um carga alta, deve usar valores maiores. Quando o servidor tem periodos de grande consumo e outros de baixo consumo, é possivel configurar uma heap minima, media e maxima para manter um consumo de memoria mais adequando a quantidade de acesso. O que deve-se lembrar é que ao alocar memoria, a JVM pode demorar para uns milisegundos a mais para atender (ou ate mesmo recusar novas conexoes) enquanto aumenta a heap.

Marcelo Terres disse...

Olá "anônimo".

Obrigado pela participação e pelo excelente esclarecimento e dica.

[]s

Jordão disse...

Bom dia, estou tendo dificuldade com o openfire e gostaria de saber se vocês podem me ajudar. Tenho um servidor rodando com todos os usuários e grupos já definidos mas preciso mudar de maquina e no servidor que está rodando eu instalei um plugin chamado: User Import Export só que quando eu restauro no outro servidor ele só restaura os usuários e os grupos não. Eu queria saber se o plugin pode estar falhando ou se é assim mesmo e se tem como exportar usuários e grupos do openfire.

Obrigado por sua atenção.

Jordão disse...

Mais um detalhe, eu instalei o openfire via apt-get no ubuntu-server 8.10 e o diretório /opt/openfire está vazio e preciso aumentar a memoria do java.

Onde fica o arquivo que pra que eu possa alterar?

Abraço.

Marco Albano disse...

Amigos, depois de inumeras tentativas consegui resolver o problema da memoria no windows... espero que ajude a todos.. é simples, basta criar o arquivo sem a extensao .txt ....

crie apenas openfired.vmoptions

Diogo disse...

Marco, putz fazia um mês que estava tentando... agora foi!
Marcelo, coloca isso aí no post (de tirar a extensão *.txt no windows) que vai ajudar muita gente.

Postar um comentário