Hey Max,
A good place to start would be to look at where you''re calling
sigaction:
dtrace -n ''syscall::sigaction:entry{ @[ustack()] = count();
}''
Or something like that.
Adam
On Nov 17, 2009, at 12:07 PM, Max Levine wrote:
> I am tracing an single-threaded app that forks off a lot of child
> processes. I am getting the following:
>
> bash-3.00# dtrace -n ''syscall:::entry /execname ==
"traderpl"/ {
> self->timestamp=timestamp} syscall:::return / self->timestamp / {
> @time[probefunc]=sum(timestamp-self->timestamp);} END { trunc
> (@time,10) }''
> dtrace: description ''syscall:::entry '' matched 467 probes
> ^C
> CPU ID FUNCTION:NAME
> 3 2 :END
>
> stat64
> 2394765600
> munmap 2756001800
> stat
> 4009686400
> fcntl
> 5355930300
> mmap 7011571900
> ioctl
> 7599235500
> brk
> 7753374600
> read
> 7767666200
> waitsys 9245357500
> sigaction 24072655200
>
> How can I investigate why its spending so much time in sigaction?
> _______________________________________________
> dtrace-discuss mailing list
> dtrace-discuss at opensolaris.org
--
Adam Leventhal, Fishworks http://blogs.sun.com/ahl