Hi all I''ve got an app that periodically runs dtrace scripts through libdtrace and am seeing a good amount of xcalls from that. I understand why dtrace uses xcalls, so this is an expected behavior to a certain extent. But because my app repeats the scripts on an interval basis, the amount of xcalls is higher than I''d like it to be. Is there anything I can do to reduce that ? thanks Rafael
> I''ve got an app that periodically runs dtrace scripts through libdtrace > and am seeing a good amount of xcalls from that. > > I understand why dtrace uses xcalls, so this is an expected behavior to > a certain extent. But because my app repeats the scripts on an interval > basis, the amount of xcalls is higher than I''d like it to be. > > Is there anything I can do to reduce that ?Yes: you can slow down your various rates (switchrate, aggrate, etc.) But the xcalls are probably more cosmetic than an actual problem: DTrace''s xcalls execute very quickly, and are unlikely to be causing system-wide degradation. (This is true of essentially all xcalls -- xcalls are more likely to be a symptom of a larger problem than a problem in and of themselves.) Which raises a question: how many xcalls are you seeing, and have you used DTrace to make sure that they''re all coming from DTrace? - Bryan -------------------------------------------------------------------------- Bryan Cantrill, Sun Microsystems Fishworks. http://blogs.sun.com/bmc
On Tue, May 20, 2008 at 12:26 AM, Bryan Cantrill <bmc at eng.sun.com> wrote:> >> I''ve got an app that periodically runs dtrace scripts through libdtrace >> and am seeing a good amount of xcalls from that. >> >> I understand why dtrace uses xcalls, so this is an expected behavior to >> a certain extent. But because my app repeats the scripts on an interval >> basis, the amount of xcalls is higher than I''d like it to be. >> >> Is there anything I can do to reduce that ? > > Yes: you can slow down your various rates (switchrate, aggrate, etc.) > But the xcalls are probably more cosmetic than an actual problem: DTrace''s > xcalls execute very quickly, and are unlikely to be causing system-wide > degradation. (This is true of essentially all xcalls -- xcalls are more > likely to be a symptom of a larger problem than a problem in and of > themselves.) Which raises a question: how many xcalls are you seeing, > and have you used DTrace to make sure that they''re all coming from DTrace? >I''m not sure how many amount of xcalls is higher than you expect. You could find the root cause by: # dtrace -n ''xcalls {@events[stack()]=count()]}'' Thanks, -Aubrey
Aubrey Li wrote:> On Tue, May 20, 2008 at 12:26 AM, Bryan Cantrill <bmc at eng.sun.com> wrote: >>> I''ve got an app that periodically runs dtrace scripts through libdtrace >>> and am seeing a good amount of xcalls from that. >>> >>> I understand why dtrace uses xcalls, so this is an expected behavior to >>> a certain extent. But because my app repeats the scripts on an interval >>> basis, the amount of xcalls is higher than I''d like it to be. >>> >>> Is there anything I can do to reduce that ? >> Yes: you can slow down your various rates (switchrate, aggrate, etc.) >> But the xcalls are probably more cosmetic than an actual problem: DTrace''s >> xcalls execute very quickly, and are unlikely to be causing system-wide >> degradation. (This is true of essentially all xcalls -- xcalls are more >> likely to be a symptom of a larger problem than a problem in and of >> themselves.) Which raises a question: how many xcalls are you seeing, >> and have you used DTrace to make sure that they''re all coming from DTrace?I''m positive that the xcalls are coming from DTrace, but maybe I''m over reacting on the values. On a dual core Intel system xcalls go from 0 to ~120 when the app is running. And on a Huron, one of the hw threads reports over 12k. Are these values expected ? thanks Rafael> > I''m not sure how many amount of xcalls is higher than you expect. > You could find the root cause by: > # dtrace -n ''xcalls {@events[stack()]=count()]}'' > > Thanks, > -Aubrey