SC_USAGE(1) BSD General Commands Manual SC_USAGE(1)


sc_usage — show 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 had to read from disk


page was created and zero filled


page was copied from another page


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/


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:


the system call type


the system call count


the amount of cpu time consumed


the absolute time the process is waiting


the current system call type


for each active thread, the last pathname that was referenced by a system call that blocked


the cumulative time that a thread has been blocked


the thread number


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)

Mac OS X October 28, 2002 Mac OS X