SC_USAGE(1) General Commands Manual SC_USAGE(1)

sc_usageshow system call usage statistics

sc_usage [-c codefile] [-e] [-l] [-s interval] pid | cmd | -E execute

sc_usage displays an ongoing sample of system call and page fault usage statistics for a given process in a “top-like” fashion. It requires root privileges due to the kernel tracing facility it uses to operate.

Page faults can be of the following types:

PAGE_IN
page had to read from disk
ZERO_FILL
page was created and zero filled
COW
page was copied from another page
CACHE_HIT
page was found in the cache

The arguments are as follows:

When the -c option is specified, it expects a path to a codefile that contains the mappings for the system calls. This option overrides the default location of the system call codefile which is found in /usr/share/misc/trace.codes.
Specifying the -e option generates output that is sorted by call count. This overrides the default sort by time.
The -l option causes sc_usage to turn off its continuous window updating style of output and instead output as a continuous scrolling of data.
By default, sc_usage updates its output at one second intervals. This sampling interval may be changed by specifying the -s option. Enter the interval in seconds.
pid | cmd | -E execute
The last argument must be a process id, a running command name, or using the -E option, an execution path followed by optional arguments. The system call usage data for the process or command is displayed. If the -E flag is used, sc_usage will launch the executable, pass along any optional arguments and display system call usage date for that executable.

The data columns displayed are as follows:

TYPE
the system call type
NUMBER
the system call count
CPU_TIME
the amount of cpu time consumed
WAIT_TIME
the absolute time the process is waiting
CURRENT_TYPE
the current system call type
LAST_PATHNAME_WAITED_FOR
for each active thread, the last pathname that was referenced by a system call that blocked
CUR_WAIT_TIME
the cumulative time that a thread has been blocked
THRD#
the thread number
PRI
current scheduling priority

The sc_usage command also displays some global state in the first few lines of output, including the number of preemptions, context switches, threads, faults and system calls, found during the sampling period. The current time and the elapsed time that the command has been running is also displayed here. The sc_usage command is also SIGWINCH savvy, so adjusting your window geometry may change the list of system calls being displayed. Typing a ‘q’ will cause sc_usage to exit immediately. Typing any other character will cause sc_usage to reset its counters and the display.

sc_usage Finder -e -s2

sc_usage will sort the Finder process usage data according to system call count and update the output at 2 second intervals.

fs_usage(1), latency(1), top(1)

October 28, 2002 macOS