Oracle® Solaris Studio 12.4: Performance Analyzer

Exit Print View

Updated: January 2015
 
 

Profiling Kernel and User Processes

The er_kernel utility enables you to perform profiling of the kernel and applications. You can use the –F option to control whether application processes should be followed and have their data recorded.

When you use the –F on or –F all options, er_kernel records experiments on all application processes as well as the kernel. User processes that are detected while collecting an er_kernel experiment are followed, and a subexperiment is created for each of the followed processes.

Many subexperiments might not be recorded if you run er_kernel as a non-root user because unprivileged users usually cannot read anything about another user's processes.

Assuming sufficient privileges, the user process data is recorded only when the process is in user mode, and only the user call stack is recorded. The subexperiments for each followed process contain data for the kucycles metric. The subexperiments are named using the format _process-name_PID_process-pid.1.er. For example an experiment run on a sshd process might be named _sshd_PID_1264.1.er.

To follow only some user processes, you can specify a regular expression using –F =regexp to record experiments on processes whose name or PID matches the regular expression.

For example, er_kernel -F =synprog follows processes of a program called synprog.

Note that the process name, as read from the /proc filesystem by er_kernel, is truncated by the OS to a maximum of 15 characters (plus a zero-byte). Patterns should be specified to match a process name so truncated.

See the regexp(5) man page for information about regular expressions.

The -F off option is set by default so that er_kernel does not perform user process profiling.


Note -  The -F option of er_kernel is different from the -F option of collect. The collect -F command is used to follow only processes that are created by the target specified in the command line, while er_kernel -F is used to follow any or all processes currently running on the system.