svcadm(8)을 검색하려면 섹션에서 8 을 선택하고, 맨 페이지 이름에 svcadm을 입력하고 검색을 누른다.
pcsample(2)
pcsample(2) System Calls pcsample(2)
NAME
pcsample - program execution time profile
SYNOPSIS
#include <pcsample.h>
long pcsample(uintptr_t samples[], long nsamples);
DESCRIPTION
The pcsample() function provides CPU-use statistics by profiling the
amount of CPU time expended by a program.
For profiling dynamically-linked programs and 64-bit programs, it is
superior to the profil(2) function, which assumes that the entire pro‐
gram is contained in a small, contiguous segment of the address space,
divides this segment into "bins", and on each clock tick increments the
counter in the bin where the program is currently executing. With
shared libraries creating discontinuous program segments spread
throughout the address space, and with 64-bit address spaces so large
that the size of "bins" would be measured in megabytes, the profil()
function is of limited value.
The pcsample() function is passed an array samples containing nsamples
pointer-sized elements. During program execution, the kernel samples
the program counter of the process, storing unadulterated values in the
array on each clock tick. The kernel stops writing to the array when it
is full, which occurs after nsamples / HZ seconds of process virtual
time. The HZ value is obtained by invoking the call
sysconf(_SC_CLK_TCK). See sysconf(3C).
The sampling can be stopped by a subsequent call to pcsample() with the
nsamples argument set to 0. Like profil(), sampling continues across a
call to fork(2), but is disabled by a call to one of the exec family of
functions (see exec(2)). It is also disabled if an update of the sam‐
ples[] array causes a memory fault.
RETURN VALUES
The pcsample() function always returns 0 the first time it is called.
On subsequent calls, it returns the number of samples that were stored
during the previous invocation. If nsamples is invalid, it returns −1
and sets errno to indicate the error.
ERRORS
The pcsample() function will fail if:
EINVAL The value of nsamples is not valid.
ATTRIBUTES
See attributes(7) for descriptions of the following attributes:
tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) ATTRIBUTE TYPEAT‐
TRIBUTE VALUE _ MT-LevelAsync-Signal-Safe _ Interface StabilityCommit‐
ted
SEE ALSO
exec(2), fork(2), profil(2), sysconf(3C), attributes(7)
Oracle Solaris 11.4 10 Mar 1998 pcsample(2)