Kenny,

Assuming you don't want to splash out on a commercial performance analysis
tool, you could also try this...

http://www.hp.com/products1/unix/java/hpjmeter/infolibrary/jmeter/

or this...

http://developer.java.sun.com/developer/technicalArticles/GUI/perfanal/

Both are free. I haven't tried either myself, but they should shed some
light on where the CPU time is being spent within the JVM without extensive
analysis of thread dumps.

If you do try one, it would be interesting to know if you found them useful.

-- Steve

> -----Original Message-----
> From: Steve Brewin [mailto:[EMAIL PROTECTED]
> Sent: 27 August 2003 10:29
> To: 'James Developers List'
> Subject: RE: High CPU Load Followup
>
>
> Kenny,
>
> As described in
> http://developer.java.sun.com/developer/technicalArticles/Prog
> ramming/Stackt
> race/...
>
> "For busy programs: The best course of action you can take
> for busy programs
> is to generate frequent stack traces. This will narrow down
> the code path
> that is causing the errors, and you can then start your
> investigation from
> there."
>
> For "frequent", read 10 at 10 second intervals as a starting
> point. You
> could write a script that generates these "frequent" thread
> dumps for you.
> With "frequent" thread dumps you should be able to determine
> if James is
> always looking up MX records, as shown in the stacktrace you
> attached, or
> typically doing something else.
>
> Just to confirm, when you say "James is running above 90%
> CPU", what do you
> mean? Is the process that JVM on which James is running using
> 90% CPU or is
> the total CPU usage at 90%? If the latter, what other processes are
> increasing their CPU consumption?
>
> -- Steve
>
> > -----Original Message-----
> > From: Kenny Smith [mailto:[EMAIL PROTECTED]
> > Sent: 27 August 2003 00:33
> > To: James Developers List
> > Subject: High CPU Load Followup
> >
> >
> > Hi all,
> >
> > Thanks to a pointer from Steve Brewin I was able to get some thread
> > dumps while James is running above 90% CPU. I took 4 thread dumps: 3
> > within a minute and 1 an hour later. It looks like there are
> > 4 threads
> > that are runnable. 3 that are waiting for socket connections
> > (I assume
> > that's SMTP, POP, and the Admin Manager), the last 1 is
> doing DNS for
> > remote delivery. Here's the stack:
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>


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

Reply via email to