Porque un blog????

Por aquello de que se me olvide como configuré tales y cuales cosas en mi sistema linux y android, y para no estar leyendo tutoriales y practicando a prueba y error cada vez que quiero hacer las cosas, que mejor que subirlos aqui, quizas le sirva a otras personas que quieren hacer lo mismo que yo alguna vez ya hice.
Fotos, Beryl, Compiz-Fusion, conversiones entre formatos multimedia en linux, Symbian, S60, android, flv, mp3, wma, avi, Screenlets, Karamba, Python, trabajos con diferentes dispositivos móviles, diferentes distribuciones de linux, firewalls, Mikrotik, freebsd, netbsd, openbsd, Amd64 bits, apuntes escolares, Midis, Videos de youtube "especiales", android, windows mobile, webos etc.


miércoles, 4 de febrero de 2009

Aumentar memoria para java en openfire (ACTUALIZACION JUNIO 2010)




Feliz de la vida con mi mensajero corporativo basado en openfire de repente empiezo a tener problemas de conexión, algunos de los clientes no se pueden conectar y a otros los sacaba de repente.
Que sera que sera si tan bien que funcionaba y lo tengo sobre linux y con 1.5 gb de memoria ram en el servidor mmmmmmmmm...., pues yendo a la configuración del openfire me doy cuenta que lo 64 mb de ram que la maquina virtual java obtiene para el por default ya estaba al 100 %.
Sin darme casi cuenta el numero de clientes conectados a mi sistema de mensajeria corporativo aumento, igual los plugins que le he instalado y pues el consumo de memoria se fue hacia arriba.
Buscaba dentro de la interfaz grafica web del spark donde cambiar este parametro pero nunca que lo encontre, pues ya leyendo cai en cuenta que el parametro 64 mb ram es un default que la maquina virtual de java se autoasigna y que si se quiere aumentar entonces se debe especificar al momento de lanzar el programa java deseado.
Encontre muchos maneras de hacerlo para diferentes programas pero yo lo necesitaba para openfire asi que entre buscandole e intentandole prueba y error di con la solución para aumentar la memoria de java para openfire.

Tan sencillo como editar el script openfire (ubicado en openfire/bin/openfire), y descomentar la linea que dice INSTALL4J_ADD_VM_PARAMS y agregar a esta linea lo siguiente "-Xms128m -Xmx256m" asi que la linea completa nos quedaria:
INSTALL4J_ADD_VM_PARAMS="-Xms128m -Xmx256m"

Adjunto dos imagenes sobre donde esta ubicada la linea a agregar y como se ve despues el monto de memoria ram asignado para nuestro servidor openfire en este caso.


(ACTUALIZACION JUNIO 2010)

Actualmente tengo openfire (3.6.4) en un servidor con sistema operativo ubuntu (debian), pero no estoy usando el programa que viene en el sistema de paquetes pues era un versión anterior a la disponible en el sitio de IGNITE en ese momento.

En las nuevas versiones de openfire al parecer esta manera de aumentar la memoria que había descrito antes ya no funciona, en la versión 3.6.4 de openfire una manera que a mi me funciono para aumentar la memoria es la siguiente:

Crear un archivo llamado openfire.vmoptions en el mismo directorio donde este el binario de openfire, en mi caso
/home/usuario/openfire/bin, en ese archivo agregar las siguientes dos líneas:
-Xms512m
-Xmx824m

La segunda linea es el tope máximo de memoria que queremos asignar al programa servidor openfire, para comprobar que en efecto openfire ha tomado el parametro de memoria nuevo que hemos agregado podemos ver el proceso (ps aux|grep openfire) y entre las líneas que nos arroja este comando debe aparecer openfire -Xms512m -Xmx824m -classpath, y claro en la pestaña servidor de la página de configuración spark también se refleja este cambio.

PORQUE AGREGAR MAS MEMORIA A OPENFIRE?

Algunos de los problemas y situaciones que a mi se me presentaron en el uso diario y que me motivo a aumentar la memoria al programa son los siguientes:

  • Algunos usuario se desconectaban repentinamente
  • Algunos usuarios no se podian conectar, esto aleatoriamente
  • No podia entrar a la página de configuración de openfire.
  • A veces nadie se podia conectar al servicio
  • El proceso de openfire (java) se iba a 100% y monopolizaba el cpu
  • Y otros mas que no recuerdo
Aumentando la cantidad de memoria que openfire pueda usar se resuelven estos problemas, claro siempre y cuando la cantidad de memoria RAM sea suficiente para soportar este aumento.

31 comentarios:

Unknown dijo...

tuve el mismo problema y tu comentario me ayudo bastante, esta muy bueno aclarar algunos temas sobre el openfire server

talvez alguien sabe como realizar la configuracion para que el server no guarde los chats en memoria, porque tengo que reiniciar cada cierto tiempo el servicio, por esto de que la memoria se va llenando con el tiempo

Lmikonos dijo...

Tengo el problema de memoria Java pero elopenfire esta instalado bajo windows alguno sabe como configurarla gracias

Anónimo dijo...

Hola
Luis tengo el mismo problema lo pudiste resolver.Si es asi decime como por favor gracias

Carlos Alarcón dijo...

No tengo ninguna instalación de openfire sobre windows, pero creo que sera algo muy similar

Anónimo dijo...

Hola mi nombre es jesus, quiero aumentar la Memoria de Java en
Openfire todos comentan que laforma es INSTALL4J_ADD_VM_PARAMS="-Xms128m -Xmx256m" pero no encuentro donde colocar esto.
si alguien me puede ayudar.....

Carlos Alarcón dijo...

En linux estas lineas se agregan en el ejecutable openfire, se abre en un editor de texto y se agregan las lineas descritas arriba, en windows no sabria decirte pues no tengo mi servidor en windows

Saludos

Anónimo dijo...

Gracias Carlos seguire buscando, si no se puede tratare de migrar a linux ya que estoy comenzando y tengo solo creado unos 20 usuarios.

Gracias.

Teo Valiente dijo...

Hola, he estado mirando mi archivo Openfire.xml y yo tengo el Openfire 3.6.4 en donde no encuentro la opcion para descomentar, lo mas cercano que tiene es una clausula que dice DAEMON_OPTS y en donde hace referencia a las opciones de inicio del demonio Openfire. Por lo que no he intentado tocar ahi.
Alguna sugerencia? Muchas gracias

Detalles de instalacion
Ubuntu Server 8.04LTS
Java 6
Openfire 3.6.4

Carlos Alarcón dijo...

Que tal Teo, donde se agrega este dato es en el mismo archivo ejecutable del programa openfire, como esta hecho en java es legible y editable (no binario)
Yo tengo instalado openfire en ubuntu también pero no use el que viene en los paquetes de ubuntu, lo baje e instale aparte por lo que mi binario esta en la runta /home/usuario/openfire/bin/openfire, y este archivo es el que edito y le agrego la linea que se ve en la imagen.
Espero te haya servido, oye y cuantos usuarios tiene s en tu servidor openfire? de que ciudad eres?

Saludos desde sinaloa.

Unknown dijo...
Este comentario ha sido eliminado por el autor.
Unknown dijo...

Miren para Windows, busquen el archivo openfire en la carpeta openfire/bin, dentro de ella debera aparecer un archivo llamado openfire, si no esta hay, deben haber varias carpetas dentro del bin, busquen dentro de ellas, hasta encontrar el openfire, abran el archivo con un editor (puede ser el block de notas) y asegurence que al inico de este archivo venga algo así #!/bin/sh
si aparece esta opción, solo agregen la linea que se comento al inicio de este block y listo con eso se aumenta en openfire con windows

Teo Valiente dijo...

Carlos, gracias por el comentario. Y ya he podido arreglar el asunto. Yo lo he instalado usando los repositorios de ubuntu y la verdad no me quejo. En este momento tengo cerca de 20 usuarios configurados y conectados al servidor. He levantado la memoria de java a 512MB y no me he tenido que preocupar mas por ese asunto. El servidor ya lleva mas de un mes sin necesidad de ser reiniciado. Cosa que antes lo tenia que hacer todos los dias por el problema de java.
Tengo habilitado varios servicios, como ser transferencia de archivos, llamadas de voz (cosa que no he probado aun) y conferencias.
Saludos

Anónimo dijo...

hola, pregunta alguno ya actualizo a la ultima version del openfire 6.3, es que no encuentro el archivo que dicen ..

gracias...
racd_mexqr@hotmail.com

Felipe dijo...

Hola

tenemos un servidor de openfire intalado en un Centos 5.4, tenemos aproximadamente 1500 cuentas. Cuando se empiean conectar no van mas de 300 usuarios y se bloquea no deja conectar mas usuarios ni mandar mensajes, ya corregimos el parametro de la memoria lo tenemos “OPENFIRE_OPTS=”-Xms512m -Xmx2500m”, en el archivo /etc/sysconfig/openfire, pero aun sigue lo mismo se bloquea, revisamos en el servidor el java consume 100 % de la CPU, agradeceria cualquier ayuda.

mi correo magiver52@hotmail.com

Muchas gracias

Anónimo dijo...

En realidad, con la version 3.6.4 de openfire, los paramtros de memoria minima y maxima (Xms???m y Xmx???m deben especificarse en la linea DAEMON_OPTS= "" del archivo '/etc/default/openfire' ya que desde ese archivo el script de arranque (/etc/init.d/openfire start) incluye los parametros.

saludos

ZinKro

Anónimo dijo...

Hola, tengo el openfire 3.5.1instalado pero tengo 1 problema son 2 redes y los usuarios de ambas redes no se pueden ver entre si, como se puede resolver ese detalle???

Unknown dijo...

Para la versión 3.6.4 de Windows crear un archivo llamado openfired.vmoptions en vez de openfire.vmoptions

Aún con la errata (si es que es errata) tu entrada me ha servido de mucho. Gracias.

Unknown dijo...

Para la versión 3.6.4 de Windows crear un archivo llamado openfired.vmoptions en vez de openfire.vmoptions

Aún con la errata (si es que era una errata) tu entrada me ha servido de mucho. Gracias.

mimoso dijo...

Para OpenFire 3.7.0 en Win 2003 server, crear el archivo con el nombre "openfired.vmoptions" y agregar los parametros:
-Xms32m
-Xmm128m
-Xmx512m
-XX:NewRatio=2
-XX:MinHeapFreeRatio=20 -XX:MaxHeapFreeRatio=30

wascaniov dijo...

tengo problemas con memoria java de openfire para server 2003 y me esta generando problemas de configuracion ya realice el estado de true a false de xmpp.pep pero el error persiste y la opcion de cambiar el tamaño del parametro de la memoria de “OPENFIRE_OPTS=”-Xms512m -Xmx2500m”, no se donde esta y no se si el server tiene eso, necesito resolver el problema de la memoria de java por favor esta en 96% de su capacidad y ya me coloca problemas hasta para entra al administrador, limpie los caches de openfire pero igual el cache es insuficiente por favor alguine que sepa bien del tema me podria ayudar mil gracias de antemano mi correo es wilsonascaniov@cecam-ips.com

mimoso dijo...

Para OpenFire 3.7.1 en Win 2008-Win 2003 server, crear el archivo con el nombre "openfired.vmoptions", el ".vmoptions" va hacer la extencion del archivo, dentro de ese archivo agregar los parametros(exactamente como se muestra):

-Xms32m
-Xmm128m
-Xmx512m
-XX:NewRatio=2
-XX:MinHeapFreeRatio=20 -XX:MaxHeapFreeRatio=30

La ruta donde se debe ubicar el archivo es: C:\Program Files\Openfire\bin

Anónimo dijo...

Hola y para Aumentar a 1024 que parametros se necesitan en el archivo para openfire 3.7.1 por que al modificar solo numero no lo permite

Julius dijo...

Que tal, soy Julius, tengo exactamente el mismo problema que ustedes con OpenFire 3.7.1 montado sobre Ubuntu Linux, aunque antes que aumentar la memoria estoy buscando como limpiar el cache, alguna idea?

Julius dijo...

Que tal, soy Julius, tengo exactamente el mismo problema que ustedes con OpenFire 3.7.1 montado sobre Ubuntu Linux, aunque antes que aumentar la memoria estoy buscando como limpiar el cache, alguna idea?

Teo Valiente dijo...

Hola, tienes que ingresar en la consola de administracion del Openfire, ir a Servidor -> Administracion del Servidor -> Caches del Sistema y ahi podrás ver todos los caches. Solo debes seleccionar el que quieres limpiar y presionar en el boton que se encuentra debajo de la lista (Limpiar Seleccionados).
Importante: yo uso la version 3.6.4 por lo que si usas otra version, las opciones pueden variar.
Espero te sirva. Saludos

Pierr dijo...

Coincido con el problema de memoria Java con Openfire 3.7.1 e intente lo del archivo openfired.vmoptions en la carpeta bin, con los valores en 128 minumo y 1024 en maximo, pero no funciona al iniciar openfire como servicio de windows 2008. Solo cuando inicio la aplicacion (previamente habiendo cerrado el servicio). Porque sera? Cambiara el nombre del archivo o la ubicacion por ser servicio o aplicacion? Gracias de antemano.

DISLASOFT dijo...

Gracias mimoso, con su explicacion pude aumentar la memoria 1461.62 MB
a openfire Openfire 3.7.1
Saludo.

DISLASOFT dijo...

Actualmente estoy usando: Windows Server 2008 R2, SQL Server 2008 R2 y Openfire 3.7.1 con la memoria del Java incrementada a 1.4 GB.
Todo anda perfecto.
Saludo.

Anónimo dijo...

Hi, I desire to subscribe for this weblog to
take hottest updates, therefore where can i do it please assist.
Here is my blog post know memes

Anónimo dijo...

mimoso muchísimas gracias por su solución quedo perfecto mi servidor

Ingenieria de Sistemas dijo...

hola
DISLASOFT dijo...
Actualmente estoy usando: Windows Server 2008 R2, SQL Server 2008 R2 y Openfire 3.7.1 con la memoria del Java incrementada a 1.4 GB.
Todo anda perfecto.
Saludo.


como lo hicistes ????