svcadm(8)을 검색하려면 섹션에서 8 을 선택하고, 맨 페이지 이름에 svcadm을 입력하고 검색을 누른다.
LOCK_PROFILING(9)
The kernel option adds support for measuring and reporting lock
use and contention statistics. These statistics are collated by
Acquisition points are distinct places in the kernel source code
(identified by source file name and line number) where a lock is
acquired. For each acquisition point, the following statistics
are accumulated: The longest time the lock was ever continuously
held after being acquired at this point. The total time the lock
was held after being acquired at this point. The total time that
threads have spent waiting to acquire the lock. The total number
of non-recursive acquisitions. The total number of times the
lock was already held by another thread when this point was
reached, requiring a spin or a sleep. The total number of times
another thread tried to acquire the lock while it was held after
having been acquired at this point. In addition, the average
hold time and average wait time are derived from the total hold
time and total wait time respectively and the number of acquisi‐
tions. The kernel option also adds the following variables to
control and monitor the profiling code: Enable or disable the
lock profiling code. This defaults to 0 (off). Reset the cur‐
rent lock profiling buffers. The actual profiling statistics in
plain text. The columns are as follows, from left to right: The
longest continuous hold time in microseconds. The longest con‐
tinuous wait time in microseconds. The total (accumulated) hold
time in microseconds. The total (accumulated) wait time in mi‐
croseconds. The total number of acquisitions. The average hold
time in microseconds, derived from the total hold time and the
number of acquisitions. The average wait time in microseconds,
derived from the total wait time and the number of acquisitions.
The number of times the lock was held and another thread at‐
tempted to acquire the lock. The number of times the lock was
already held when this point was reached. The name of the acqui‐
sition point, derived from the source file name and line number,
followed by the name of the lock in parentheses. The number of
acquisition points that were ignored after the table filled up.
Disable or enable the lock profiling code for the spin locks.
This defaults to 0 (do profiling for the spin locks). Do sam‐
pling approximately every N lock acquisitions. Mutex profiling
support appeared in Generalized lock profiling support appeared
in The code was written by and The code was written by This man‐
ual page was written by The option increases the size of so a
kernel built with that option will not work with modules built
without it. The option also prevents inlining of the mutex code,
which can result in a fairly severe performance penalty. This
is, however, not always the case. can introduce a substantial
performance overhead that is easily monitorable using other pro‐
filing tools, so combining profiling tools with is not recom‐
mended. Measurements are made and stored in nanoseconds using
(on architectures without a synchronized TSC) but are presented
in microseconds. This should still be sufficient for the locks
one would be most interested in profiling (those that are held
long and/or acquired often). should generally not be used in
combination with other debugging options, as the results may be
strongly affected by interactions between the features. In par‐
ticular, will report higher than normal lock contention when run
with due to extra locking that occurs when is present; likewise,
using it in combination with will lead to much higher lock hold
times and contention in profiling output.