Does anybody know of any tools that i can use to monitor which object is taking what kind of memory on a run-time basis?. The server we have written keeps on crashing. Could it be memory leaks?. Is the Garbage collection occuring efficiently? How do we know?
Thanks so much
basically, you may like to examine your code first through a memory probe tool (like Rational's Purify or a product for Java called JProbe) to see how it manages memory and then plug the leaks
in runtime, if you are on UNIX, i think you will have a great deal of access to memory usage through the /proc files and also through commands like top, vmstat, ...
NT is considerably less granular in its process model, so you need to ask Bill, as always
chk out optimizeIt.
You can see how much garbage collection is being undertaken by starting your JVM with the -verbosegc flag.
Unix monitoring tools like top, vmstat, iostat, ps, perfmeter etc should give you a good insight into what is happening up to the point of the server crashes.
there are a lot of profilers available. One of them comes with JWS (Java WorkShop) on Unix.