Pratibha-

Using top isn't necessarily a good way to debug memory issues with Java
applications.  Many times, the VM will just keep memory allocated so it
doesn't have to go get it later.  I suggest you use Java's JMX properties
and watch the memory pool usage over time.  The VM can tell you exactly how
much memory is being used vs allocated.

I use Hyperic's Java adapter to monitor Java memory pool usage.  I believe
ServiceMix defaults to enabling the JMX listener and all you need to do is
point a JMX console (or Hyperic's Java VM adapter) to it in order to get to
the memory pool values. 

If you are using Sun's VM, make sure the '-server' option is set on
startup.. this setting tells the VM to perform garbage collection more
frequently.

Matt Pavlovich
-- 
View this message in context: 
http://www.nabble.com/Why-memory-utilization-is-so-high-for-servicemix--tp18712344p18714492.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.

Reply via email to