Error de falta de memoria de Openfire Java: ¿alguna solución?

Error de falta de memoria de Openfire Java: ¿alguna solución?

Tengo un gran problema con Openfire que se bloquea de vez en cuando debido a la falta de memoria. En el registro de Java tengo el siguiente registro de errores. sin embargo los problemas son

  1. Openfire es de 32 bits y no puedo ejecutarlo en 64 bits.
  2. Debido a que la única memoria máxima de 32 bits que puedo darle al openfire es de 4 GB.
  3. Mi sistema es muy potente con 32 GB de RAM, así que no puedo aumentar más.
  4. Solo un máximo de 100 usuarios están usando Openfire pero todavía parece que no puedo manejarlo.
  5. Ejecuté trabajos cron cada 5 minutos para monitorear este servicio y reiniciar de vez en cuando.

¿Alguna solución sobre cómo optimizar open-fire para el uso de memoria y evitar que falle?

registro de errores como se muestra a continuación

#
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (malloc) failed to allocate 140 bytes for CHeapObj-new
# Possible reasons:
#   The system is out of physical RAM or swap space
#   In 32 bit mode, the process size limit was hit
# Possible solutions:
#   Reduce memory load on the system
#   Increase physical memory or swap space
#   Check if swap backing store is full
#   Use 64 bit Java on a 64 bit OS
#   Decrease Java heap size (-Xmx/-Xms)
#   Decrease number of Java threads
#   Decrease Java thread stack sizes (-Xss)
#   Set larger code cache with -XX:ReservedCodeCacheSize=
# This output file may be truncated or incomplete.
#
#  Out of Memory Error (allocation.inline.hpp:44), pid=31239, tid=2735213424
#
# JRE version: 6.0_41-b02
# Java VM: Java HotSpot(TM) Server VM (20.14-b01 mixed mode linux-x86 )

---------------  T H R E A D  ---------------

Current thread (0xad2c7000):  JavaThread "Jetty-QTP-AdminConsole-16012" [_thread_in_vm, id=21077, stack(0xa3030000,0xa3081000)]

Stack: [0xa3030000,0xa3081000],  sp=0xa307f3d4,  free space=316k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.so+0x727990]

Respuesta1

Openfire está escrito en Java y no es específico de 32 bits. Si usa un jvm de 64 bits, se ejecutará en modo de 64 bits y podrá darle tanta RAM como tenga. Intente instalar un jvm/jre de 64 bits

información relacionada