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

Reply via email to