Indu Devanath
Indu Devanath

Reputation: 2188

Object Memory footprint from JBoss JMX console

We have JBoss EDS server running in production and it is consuming huge amount of memory. We increased the memory from 4GB to 8GB and we see that the memory consumption is still increasing incrementally and finally OutOfMemoryError and the server goes down. Suspicion is that there is memory leak in our application.

We would like to see what could be causing this problem? We have JMX console accessible and we don't see anything in the Threads that could be causing this problem. We would like to see what objects are growing and how much memory is being used by them. How can JMX console help me in this regard?

I found that JBoss memory profiler can help, but the server doesn't have the profiler installed on the Production Instance. Obviously, we can't install it and restart in production. It will have consequences.

We also found out that the server is running OpenJDK. Has anyone seen any issues running JBoss AS on OpenJDK? How good are the algorithms in OpenJDK for Garbage Collection?

Upvotes: 1

Views: 568

Answers (2)

Nicholas
Nicholas

Reputation: 16066

I recommend you trigger a heap dump on any OutOfMemory errors. In OpenJDK you can enable this by using the options -XX:+HeapDumpOnOutOfMemoryError and -XX:HeapDumpPath=<pathname>.

(See more info on VM Fatal Error Handling).

Once you have captured a heap dump, you can analyze it using a heap dump parser like jhat.

Upvotes: 1

Scary Wombat
Scary Wombat

Reputation: 44854

JBoss will consume all available memory. If you give it more it will use more. Unless this is causing some memory exceptions then it is not a big deal.

NOTE: By 'use' I mean earmark for use.

Upvotes: 0

Related Questions