File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Performance and the fly likes memory profiler recommendations? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Performance
Bookmark "memory profiler recommendations?" Watch "memory profiler recommendations?" New topic

memory profiler recommendations?

Dan Murphy
Ranch Hand

Joined: Mar 29, 2005
Posts: 126

I'm looking for a memory profiler, to help me track down a memory leak. Requirements are (in approximate order of precedence):

- must be able to debug processes running on remote (Solaris) machine
- free, or at least a free trial
- nice graphical output
- can pinpoint guilty line(s) in source files
- eclipse plugin

Thanks in Advance,

Ilja Preuss

Joined: Jul 11, 2001
Posts: 14112
We are using JProfiler. It's quite good and seems to fulfil most of your requirements. It's not free, but I think there is a trial.

- can pinpoint guilty line(s) in source files

I don't see how this would be even *possible*. As far as I can tell, the best a tool can do is tell you why an object isn't garbage collected - that is, where it is referenced from. (JProfiler does a fine job here).

It's impossible to automatically tell what's wrong with what code, though, because for that the tool had to understand the semantics. You typically have a whole chain of references that hold an object from being gc'ed, but to find out which link is the bad one takes the analysis of a developer.

The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Simon Baker
Ranch Hand

Joined: Sep 09, 2004
Posts: 57

I personally find JProfiler very useful. It is not free (though cheaper than JProbe I think) but there is an evaluation version.

I did find an Eclipse plug-in, but it seems easier (for me) to execute JProfiler standalone (it controls startup and shutdown of my app server - Oracle OC4J in my case but many are supported).

I don't use it too frequently (less than I should) but the value gained when I do is well worth the license cost to my company.

One of the initial things I liked (having used an older version of JProbe) was just how easy and quick it was to get JProfiler up and running with a real application providing results that I could interpret easily. We are talking about 15-20 minutes from initial evaluation copy download. Through further usage more features become evident, but this ease of getting to a reasonable starting point was a big point in it's favour for me.

Of course, JProbe is excellent, and there are others. When I looked around (about a year ago) there didn't seem to be any open source / free to use products that gave anything like the value of the commercial products, but I may have missed something and things may have changed.

Alexis Moussine-Pouchkine

Joined: Jan 04, 2007
Posts: 10
NetBeans Profiler (formerly JFluid).
Obviously, not an Eclipse plugin...

--Alexis MP | <a href="" target="_blank" rel="nofollow"></a>
Sanjay Gupta

Joined: Mar 29, 2005
Posts: 2
How about optimizeIt?
François Mercier

Joined: Jan 12, 2007
Posts: 4
What you can find about optimizeit

IMPORTANT NOTICE Borland has ceased developing new versions of Optimizeit and JDataStore ("Sunset Products"). The current version of each of the Sunset Products is the last release available to customers. No new versions or upgrades of the Sunset Products will be made available even if support has been purchased. Support for the Sunset Products is only available for a limited time and will cease in accordance with Borland's standard support policies and terms and conditions. By clicking below you agree that you have read and understand this notice.
Ben Souther

Joined: Dec 11, 2004
Posts: 13410

Welcome to JavaRanch!

We're pleased to have you here with us in the Performance forum, but there
are a few rules that need to be followed, and one is that proper names are
required. Please take a look at the
JavaRanch Naming Policy and
adjust your display name to match it.

In particular, your display name must be a first and a last name separated by a space character, and must not be obviously fictitious.

You can change it here

Again, thanks for helping out.

Java API J2EE API Servlet Spec JSP Spec How to ask a question... Simple Servlet Examples jsonf
Virag Saksena
Ranch Hand

Joined: Nov 27, 2005
Posts: 71
If you are trying to track down memory leak on a high transaction system where you can't afford the overhead of instrumentation or JVMTI/JVMPI you can try Auptyma's Java Application Monitor from

It takes a snapshot of your heap, and loads it to a built in database to provide you with a tree representation of your memory reachability

It has been succesfully used by quite a few customers to find memory leaks on their production systems where they could not afford the overhead of other tools (because sometimes you want to find and fix problems before they crash your system).



<a href="" target="_blank" rel="nofollow">The Peak of Performance</a>
Ulas Ergin
Ranch Hand

Joined: Oct 10, 2002
Posts: 77
I am not sure whether it has an eclipse plugin version,but definitely JPROBE is a nice tool.
[ February 20, 2007: Message edited by: Ulas Ergin ]
Onkar Joshi
Ranch Hand

Joined: Mar 01, 2007
Posts: 116
- can pinpoint guilty line(s) in source files

You can use NetBeans Profiler to profile a fragment of code (line no X to Y) or a specific method.

I suppose this is possible with most of the other mature profilers too.

Also, basic profiling info can be obtained from the Eclipse Testing and Performance Tools Platform too (it's free).

SCJP 5 - 95% | SCWCD 1.4 - 88% | SCBCD 5 - 93%
Onkar Joshi's blog | LinkedIn profile
I agree. Here's the link:
subject: memory profiler recommendations?
Similar Threads
Cause of memory leaks in Tomcat
good code and memory profiler
OutOfMemoryError - how do I find out where the memory is going?
Profiler hell