----- Original Message -----
From: "Rhett Aultman" <[EMAIL PROTECTED]>
Sent: Friday, July 19, 2002 5:26 PM
Subject: RE: Performance Analysis

If you're really concerned about finding the source of the memory drain,

I really have to :-)

Yyou may want to run the JVM with a JVMPI memory profiling agent running.
jProf is a pretty good one.  If you do a Google search for "jProf", you'll
find it, and if you need help using it, I'm here.  I've written a JVM
profiling agent before, so I know my way around that block.

IIRC, the heaviest drain on FOP is dealing with graphics and SVG.

As for the question about keeping a thread with System.gc() running...

That may help the JVM to more aggressively clean out memory, but most memory
leaks in Java are caused by objects that the GC misses, either because of
some unusual memory lay our or (more commonly) because a part of the program
is still holding a reference to the object.  It may not even be leaking
memory...it could just be heavy usage.  Heavy but conscientious use of
memory would still cause memory to run out, and all the calls to System.gc()
in the world won't keep that from happening.  Aside from all of that,
calling System.gc() does not guarantee that the GC will run.  All it does is
offer a suggestion that the GC's priority be greater for a short period of
time.  If you really want deterministic garbage collection, there are some
JVMPI and JNI tricks that will let you get away with it, but in general,
this won't really help your memory concerns.

-----Original Message-----
From: Holger Prause [mailto:[EMAIL PROTECTED]]
Sent: Friday, July 19, 2002 11:17 AM
Subject: Performance Analysis

To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]

Reply via email to