java.lang.OutOfMemoryError: Java heap space

Einen schönen Tag!
Seit einigen Tagen bekomme ich in regelmässigen abständen folgende Systemmail:

Cron root@smail [ -x /usr/share/univention-ox/process-listener ] && /usr/share/univention-ox/process-listener

Exception in thread “main” java.lang.OutOfMemoryError: Java heap space
at java.io.ObjectInputStream$HandleTable.grow(ObjectInputStream.java:3436)
at java.io.ObjectInputStream$HandleTable.assign(ObjectInputStream.java:3243)
at java.io.ObjectInputStream.readString(ObjectInputStream.java:1627)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1337)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1963)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1887)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1770)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1346)
at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1684)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1340)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:368)
at sun.rmi.server.UnicastRef.unmarshalValue(UnicastRef.java:324)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:173)
at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(RemoteObjectInvocationHandler.java:194)
at java.rmi.server.RemoteObjectInvocationHandler.invoke(RemoteObjectInvocationHandler.java:148)
at $Proxy0.getData(Unknown Source)
at com.openexchange.admin.console.user.List.maincall(List.java:86)
at com.openexchange.admin.console.user.ListCore.commonfunctions(ListCore.java:118)
at com.openexchange.admin.console.user.List.(List.java:77)
at com.openexchange.admin.console.user.List.main(List.java:70)

Kann mir jemand erklären was sie zu bedeuten hat und welche Massnahmen ich ergreifen muss??

Mit freundlichem Gruß
Henry

[quote=“hotten”]Exception in thread "main" java.lang.OutOfMemoryError: Java heap space

Kann mir jemand erklären was sie zu bedeuten hat und welche Massnahmen ich ergreifen muss??[/quote]
Der OX-Prozess hat nicht genug Speicher um seine Tätigkeit durchzuführen. Es sollte helfen entweder “ox/java/mem” anzupassen und/oder mehr Speicher einzubauen.

Gruß
Daniel Tröder

an welcher Stellen kann ich

“ox/java/mem”

denn anpassen??

“ox/java/mem” ist eine Variable der Univention Configuration Registry: Link ins Handbuch

# ucr search ox/java/mem ox/java/mem: 1024 Java -Xmx in megabyte for the Open Xchange Groupware process

# ucr set ox/java/mem=2048 Setting ox/java/mem Script: /etc/univention/templates/scripts/ox-java-mem.sh Module: ox-config Module: oxguard-config

# invoke-rc.d open-xchange restart Restarting Open-Xchange: Stopping Open-Xchange: open-xchange. Starting Open-Xchange: open-xchange.

[quote=“troeder”]“ox/java/mem” ist eine Variable der Univention Configuration Registry: Link ins Handbuch

# ucr search ox/java/mem ox/java/mem: 1024 Java -Xmx in megabyte for the Open Xchange Groupware process

# ucr set ox/java/mem=2048 Setting ox/java/mem Script: /etc/univention/templates/scripts/ox-java-mem.sh Module: ox-config Module: oxguard-config

# invoke-rc.d open-xchange restart Restarting Open-Xchange: Stopping Open-Xchange: open-xchange. Starting Open-Xchange: open-xchange.[/quote]

Danke für die Info

[quote=“troeder”]“ox/java/mem” ist eine Variable der Univention Configuration Registry: Link ins Handbuch

# ucr search ox/java/mem ox/java/mem: 1024 Java -Xmx in megabyte for the Open Xchange Groupware process

# ucr set ox/java/mem=2048 Setting ox/java/mem Script: /etc/univention/templates/scripts/ox-java-mem.sh Module: ox-config Module: oxguard-config

# invoke-rc.d open-xchange restart Restarting Open-Xchange: Stopping Open-Xchange: open-xchange. Starting Open-Xchange: open-xchange.[/quote]

Habe über ucr set/ox/java/mem den wert auf 4096 geändert.

Leider hat das noch keine Besserung gebracht!

Bitte in der Prozessliste überprüfen, ob der Parameter -Xmx bei der JVM auch mit dem richtigen Wert angekommen ist:
zB.
25014 ? Ssl 40:10 /usr/bin/java -Dfile.encoding=UTF-8 -Dsun.net.inetaddr.ttl=3600 -Dnetworkaddress.cache.ttl=3600 -Dnetworkaddress.cache.negative.ttl=10 -serv
er -Djava.awt.headless=true -Xmx1024M -XX:MaxPermSize=256m -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupanc
yOnly -XX:NewRatio=3 -XX:+UseTLAB -XX:+DisableExplicitGC -Dosgi.compatibility.bootdelegation=false -XX:-OmitStackTraceInFastThrow -Dlogback.threadlocal.put.duplicate=f
alse -Djava.awt.headless=true -Dopenexchange.propdir=/opt/open-xchange/etc -jar /opt/open-xchange/bundles/org.eclipse.osgi_3.10.1.v20140909-1633.jar -configuration fil
e:/opt/open-xchange/osgi

Wenn da nicht grad tausend Benutzer drauf sind, müssten 4GB auch relativ weit reichen.

Hatte mich bei 4 GB versehen.
Es sind sogar 6 GB bereitgestellt

Es handelt sich bei unserem System um eine virtuelle vmware maschine mit 16GB Hauptspeicher

00:39:14 /usr/bin/java -XX:+UseConcMarkSweepGC -Dsun.net.inetaddr.ttl=3600 -Dnetworkaddress.cache.ttl=3600 -Dnetworkaddress.cache.negative.ttl=10 -XX:+DisableExplicitGC -server -Djava.awt.headless=true -XX:+UseParNewGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:NewRatio=3 -XX:+UseTLAB -XX:-OmitStackTraceInFastThrow -Dlogback.threadlocal.put.duplicate=false -Xmx6144m -Djava.awt.headless=true -Dopenexchange.propdir=/opt/open-xchange/etc -jar /opt/open-xchange/bundles/org.eclipse.osgi_3.9.1.v20140110-1610.jar -configuration file:/opt/open-xchange/osgi

Wir haben gerade gesehen, dass im Stacktrace eine Referenz zu Admin-Operationen auftaucht.

D.h. offenbar bekommt die JVM für für die command line Tools zu wenig Speicher.
Dann bitte -Xmx1024M (oder höher falls nicht ausreichend) in JAVA_OXCMD_OPTS in /opt/open-xchange/etc/ox-scriptconf.sh eintragen. Den anderen Wert vielleicht wieder etwas runtersetzen, je nachdem, was da sonst noch laufen soll.

habe den Wert angepasst.
Er lag aktuell bei 50M

Werde am Montag ox neu durchstarten.

Gruß H. Otten

Mastodon