6

I'm looking for a good tool to profile a java webapp. I'd like to get performance information and memory usage if possible.

Any suggestions?

ScArcher2
  • 85,501
  • 44
  • 121
  • 160

7 Answers7

7

JProfiler is a really good one. It integrates with all the major IDEs and application servers.

jodonnell
  • 49,859
  • 10
  • 62
  • 67
4

The Eclipse Memory Analyzer is the best tool for analysing the memory usage of java applications

kohlerm
  • 2,596
  • 1
  • 17
  • 22
2

I use Netbeans Profiler:

alt text http://www.netbeans.org/images/v6/1/features/profiler-java-cut.png

Its free, has task based profiling, a heap walker, allows the insertion of profiling points, tracks memory usage and threading, but best of all it allows you to profile remote JVM's. You can even attach to ones which are already running.

Oh, and it works really well if you've a maven build for your project too.

Andrew Harmel-Law
  • 7,739
  • 12
  • 44
  • 55
1

For initial investigation, you can start jconsole and attach it to a running process. This will allow you to see memory usage over time even in production, including garbage collections without the full impact of a profiler setup.

Thorbjørn Ravn Andersen
  • 73,784
  • 33
  • 194
  • 347
1

SmartInspect is a profiler and logger. Not specific to memory, but you might want to take a look. It works with a variety of languages too, including Delphi, Java and .NET. Includes other more advanced features.

SmartInspect architecture

Neysor
  • 3,893
  • 11
  • 34
  • 66
Jim McKeeth
  • 38,225
  • 23
  • 120
  • 194
1

I've used YourKit Java Profiler 7.5 and was reasonably happy with it. Java has some pretty good tools included with recent releases that are worth looking into. (e.g., jmap -histo <pid>)

Joe Liversedge
  • 4,124
  • 26
  • 19
1

I like to use SAP Memory Analyzer, which is based in Eclipse. It works very well, also for large heap dumps!

dlinsin
  • 19,249
  • 13
  • 42
  • 53