Displaying 6 results from an estimated 6 matches for "pr_pid".
Did you mean:
p_pid
2005 Nov 05
3
Signal id and signal sender pid using dtrace
Hi
I have a process which reads a socket using recvfrom. After sometime, for no apparent reason, recvfrom exits with an EINTR causing the sender to barf too. Basically the socket on which these processes were communicating no longer exists. On writing a dtrace, I could determine that a signal was received at that socket causing the EINTR. I do not know of way to see who sent the signal (which
2006 Nov 16
6
DTrace hooks for CPU caps
...y args[1].
For example, the following D script shows the number of seconds processes spend
on CPU and on wait queues. It an reasonable estimate of which process and to
what extent are affected by CPU caps:
#!/usr/sbin/dtrace -s
#pragma D option quiet
sched:::cpucaps-sleep
{
sleep[args[1]->pr_pid] = timestamp;
}
sched:::cpucaps-wakeup
/sleep[args[1]->pr_pid]/
{
this->delta = timestamp - sleep[args[1]->pr_pid];
@sleeps[args[1]->pr_fname] = sum(this->delta);
@total[args[1]->pr_fname] = sum(this->delta);
}
sched:::on-cpu
/sleep[curpsinfo->pr_pid]/
{
oncpu[curpsinf...
2008 Jun 26
4
Pfilestat vs. prstat
[Just starting out with DTrace and was hoping to get some guidance.]
I have a "benchmark" program that I monitored with both prstat (prstat -mL -P <PID>) and pfilestat (from the DTrace toolkit). Prstat reports LAT values in the 0.1-0.2% range, but pfilestat reports "waitcpu" values in the 6-10%. Since those two numbers supposedly represent time waiting for the CPU,
2007 Jul 25
2
proc:::exit not firing
...s should be so?
From my reading of various documents, solaris internals and other spots
it appears that proc:::exit should ALWAYS be fired regardless of how the
process ends.
Thanks
Chris Debenham
The script they are using is as follows:
--- begin script ---
proc:::signal-send
/args[1]->pr_pid == $target/
{
last_signal = args[2];
last_signal_sender_pid = pid;
last_signal_sender_name = execname;
}
proc:::exit
/pid == $target && args[0] == CLD_EXITED/
{
printf( "%Y normal exit.", walltimestamp );
ustack();
}
proc:::exit
/pid...
2008 Oct 01
5
ustack()s of SIGSEGV''ed programs
Hi all,
I am trying to write a D script which would print ustack() for every
program in the system receiving SIGSEGV. All the stacks printed in
trap()/sigtoproc() context do not have meaningful symbols.
The following solves the problem to some degree but I''d much rather have
a self-contained D script.
dtrace -w -n ''fbt:genunix:sigtoproc:entry/arg2 == 11/ {
2006 Jan 12
5
dtrace and follow fork
I am trying to use dtrace to trace all sscanf calls.
I am able to use pid provider for this.
But my application forks off children at times to
handle requests.
Is there a way I can stop the child process
immediately after it is started so that
I can attach a pid provider to that and trace the
scanf calls in it?
I have tried using the "create" probe but that did
not help.