On 6/15/2010 7:10 PM, Scott Feldstein wrote:
I am trying to figure out how to reduce the performance impact of dtrace when
run with java probes. Currently the script that i am running seems to
significantly impact the performance of my java web app.
Userspace probes still trap to the kernel for handling, including
predicate evaluation, so the script below is essentially turning every
function into a pair of syscalls (granted, the hotspot provider doesn't
seem to provide a cheaper alternative...).
I've been trying to use the profile:::profile-1001hz probe to reduce the
resolution of events processed by dtrace but have had no success (I'm probably
not using it correctly).
For minimal overhead I would use something in the 100-200hz range
(5-10ms between samples) and aggregate over jstack(). It won't tell you
how many calls you're getting, but it will show clearly which functions
are eating up all the time and who called them. I haven't done Java
before, but here's what I'd do for C code:
profile-$FREQ /pid==$PID/ {
@profile[ustack()]=count();
}
Regards,
Ryan
_______________________________________________
dtrace-discuss mailing list
dtrace-discuss@opensolaris.org