Назад | Перейти на главную страницу

Ошибка Openfire Java Out of Memory - какие-либо решения?

У меня время от времени возникают огромные проблемы с падением openfire из-за нехватки памяти. В журнале Java у меня есть следующий журнал ошибок. однако проблемы

  1. Openfire - 32-битный, и я не могу запустить его как 64-битный.
  2. Поскольку его только 32-битный максимальный объем памяти, который я могу передать openfire, составляет 4 ГБ.
  3. Моя система очень мощная с 32 ГБ ОЗУ, поэтому я больше не могу увеличивать
  4. Только максимум 100 пользователей используют openfire, но все еще не могут с ним справиться
  5. Я запускал задания cron каждые 5 минут, чтобы контролировать эту службу и время от времени перезапускать

какие-либо решения о том, как оптимизировать открытый огонь для использования памяти и остановить его сбой?

журнал ошибок, как показано ниже

#
# 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]

Openfire написан на java и не является 32-битным. Если вы используете 64-битный jvm, он будет работать в 64-битном режиме, и вы можете дать ему столько оперативной памяти, сколько у вас есть. Попробуйте установить 64-битный jvm / jre