padc - process activity data collector
padc -Cqrsk [-I len] [-h pri] [-b bufsz] [-t time]
padc -qrsk [-i] [-I len] [-h pri] [-b bufsz] [-t time]
padc traces the activity of a process or group of processes and writes
the raw event data to the standard output. System calls, scheduling
actions, and disk i/o operations are activities that padc can trace. In
addition to kernel-generated events, padc collects any events created by
processes through the rtmon_log_user_tstamp(3) library routine.
padc is normally invoked by the par(1) program which reads and formats
its output. padc can also be invoked by itself with the event data
written to a file for later processing by par or rtmon-dump(1).
By default, padc traces the requested events for all processes on a
system. System call event collection can be restricted to a specific set
of processes with one or more -p options. If the -i option is given, all
future children of the specified processes will also have their system
calls traced. If the -t option is specified, padc will collect trace
data for a limited amount of time.
padc collects trace data until: the time specified with the -t option has
elapsed, padc receives a SIGINT or a SIGHUP signal, or all processes to
be traced have terminated.
The execution of traced processes is not affected when padc is collecting
-b bufsz Use a buffer bufsz bytes large to buffer event data written to
the standard output. By default padc buffers up to 128
Kilobyte of data before writing the data to the standard
output. Setting bufsz to zero causes padc to buffer its output
as little as possible.
-C Trace CXFS activity.
-h pri Run padc with a nondegrading realtime scheduling priority pri.
By default padc tries to use the same realtime scheduling
priority that the system event collection process uses. This
will only happen if padc is started by the super-user. padc
tries to match scheduling priority so that it can compete
equally for CPU time when doing system-wide event collection.
-k Trace all disk i/o operations on the system.
-I max Set the maximum amount of data returned by the kernel for
indirect parameter values returned with a system call event.
Some system calls (e.g. read) have potentially lots of data
associated with them. padc always collects direct system call
arguments; this option can be used to control the amount of
indirect data. If max is 0, then no indirect parameter values
will be collected. Otherwise max can be any value up to a
maximum determined by the operating system; by default 4096
bytes. Note that setting this value to a large number
increases the probability of losing events.
-i Inherit system call tracing to future children of the processes
specified with -p options.
-p pid Enable system call event tracing for the specified pid. This
option may be specified multiple times to enable system call
tracing for multiple processes. Processes specified with this
option must belong to the current user unless the user has
-q Trace scheduling events for all processes on the system.
-r Trace scheduling events for processes specified with the -p and
-i options. If no processes are specified, trace events for
all processes on the system.
-s Trace system calls for processes specified with the -p and -i
-t time Collect data for a time-second interval.
padc reads its information from the rtmond(1) server process on the
machine where the traced processes are located. The rtmon-client(1)
program may be used to collect trace data from an rtmond process on a
different machine; the only restriction is that you cannot (easily)
collect system call event data.
padc's main task is to merge multiple streams of event data that are
collected on multi-processor systems. This work may require a
significant amount of memory if the system is heavily loaded because much
event data may need to be buffered to insure events are properly sorted
by time. For this reason padc does not merge event data when doing
system-wide event collection; instead par recognizes that it needs to
sort-merge the event data when displaying event traces (since it
typically is run after the event data has been collected).
Event data collected by padc is time stamped with a high resolution
timer. The resolution of this timer depends on the system hardware; this
value is recorded in the event stream so that post-processing programs
such as par can properly calculate time values.
To reduce system load, system call events generated by padc itself are
not recorded. This can lead to some inexplicable gaps in the schedule
Unable to contact rtmon service on local host. There is no rtmond server
process running on the system. Usually this is because the rtmond
service has been disabled; consult chkconfig(1M).
Cannot reach rtmon service on local host, access denied. The rtmond
server process has been configured to deny access to all users on the
Unable to start data collection; server disallowed event collection. The
rtmond server process has been configured to restrict the set of events
that may be collected and you have requested collection of events that
Unable to start data collection; temporarily out of resources. The
rtmond server process was unable to start event collection because it ran
out of system resources such as threads or memory.
/dev/par for enabling system call tracing
/tmp/.rtmond_socket UNIX domain socket for client connections
par(1), rtmon-client(1), rtmon-dump(1), rtmond(1), par(7).
PPPPaaaaggggeeee 3333 [ Back ]