cancel
Showing results for 
Search instead for 
Did you mean: 

Java memory usage in SMP

Wilbert_Jeuken
Explorer
0 Kudos

We're having some issues on a SMP installation (3.0 SP11 on ASE on Windows) where the java process is misbehaving. Although the settings in the administrator tool have been set (max heap at 2GB and max permanent space at 512MB), the actual process on OS level takes a whopping 5.5GB of memory. It's only able to so so when the swap space defined on the system is at a minimum of 16GB (server has 8GB of RAM).

I would have expected an OOM to be thrown at about 2.5GB of memory use by java, but this is not the case. When looking at the process using jconsole, the actual used heap is about 1.5GB (the top of the graph is also at 2GB which corresponds with the settings).

What could explain the high memory use on OS level by java.exe, as it doesn't seem to be actually addressed by the process?

Accepted Solutions (0)

Answers (1)

Answers (1)

Wilbert_Jeuken
Explorer
0 Kudos

Hello all,

When looking at a thread dump of the affected java process, we can see this:

"Start Level Event Dispatcher" #21 daemon prio=5 os_prio=0 cpu=26734.38 [reset 26734.38] ms elapsed=52714.69 [reset 52714.69] s allocated=7825647712 B (7.29 GB) [reset 7825647712 B (7.29 GB)] defined_classes=6439
io= file i/o: 207935510/3776546 B, net i/o: 26953/10259 B, files opened:3192, socks opened:6 [reset file i/o: 207935510/3776546 B, net i/o: 26953/10259 B, files opened:3192, socks opened:6 ]
tid=0x00000000241d3000 nid=0xd6c / 3436 in Object.wait() [_thread_blocked (_at_safepoint), stack(0x0000000025540000,0x0000000025640000)] [0x000000002563f000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(J)V(Native Method)
- waiting on <0x000000067001ae08> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
at java.lang.Object.wait()V(Object.java:502)
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent()Lorg/eclipse/osgi/framework/eventmgr/EventManager$EventThread$Queued;(EventManager.java:400)
- locked <0x000000067001ae08> (a org.eclipse.osgi.framework.eventmgr.EventManager$EventThread)
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run()V(EventManager.java:336)

Anybody have any idea why this thread would need 7+GB's of memory, or what it's trying to do?

Regards, Wilbert