Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Warning

This is a DRAFT. Remove this warning box before making article public.

Until then, ensure that permissions are View and Edit Restricted by clicking the lock above.

Affected version(s):

 

all

Symptom

One of the Open-Xchange services is not starting or causing problems. In the logs you see OOM messages like (but not limited to):

Code Block
java.lang.OutOfMemoryError: unable to create new native thread

Root Cause

Wrong allocation of memory to the Open-Xchange process or overall not enough memory.

Solution

System memory

Check first if the node has enough memory assigned, use system tools like top or free. Have also a look if other processes claiming too much memory.

Process memory

The main memory configuration of the Open-Xchange middleware can be found in

Code Block
/opt/open-xchange/etc/ox-scriptconf.sh


JAVA_OPTS_MEM="-XX:MaxHeapSize=2048M ...

If you kept updating the system it might be still called Xmx or is not in JAVA_OPTS_MEM.  2048M is just an example for a test system and isn't enough for a real live system. After a change you need to restart the open-xchange service.

Don't get confused with:

JAVA_OXCMD_OPTS="-Djava.net.preferIPv4Stack=true -Xmx50m"

This is only for the command line tools. Nevertheless, on larger installations when you run out of memory (directly visible on the command line) when calling one of the tools, you need to change this value too.

Systemd memory limits

Check also the memory restrictions of systemd

Code Block
systemctl daemon-reloadsystemctl show open-xchange | grep LimitAS

If not limited it should show "infinity".

You can change the limits in:

Code Block
/etc/systemd/system/open-xchange.service.d/limits.conf

Just add:

Code Block
LimitAS=<limit in bytes>
LimitASSoft=<limit in bytes>

After a change you need to reload the systemd daemon:

Code Block
systemctl daemon-reload

And restart the open-xchange process. Documentation about the possible parameters can be found in the man pages of systemd:


Code Block
man systemd.exec




This is a DRAFT. Remove this warning box before making article public.

Until then, ensure that permissions are View and Edit Restricted by clicking the lock above.


Content by Label
showLabelsfalse
max5
spacesSKB
showSpacefalse
sortmodified
reversetrue
typepage
cqllabel = "kb-troubleshooting-article" and type = "page" and space = "SKB"
labelskb-troubleshooting-article

Page properties
hiddentrue


Related issues