SC_USAGE(1)

πŸ“¦ version 1042.100.6.0.1, in nixpkgs unstable

πŸ’– sc_usage(1), straight outta the General Commands Manual πŸ’–

✨ NAME ✨

sc_usage β€” show system call usage statistics. that’s the whole assignment, bestie.


πŸ’… SYNOPSIS πŸ’…

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

🫢 DESCRIPTION 🫢

okay so sc_usage gives you an ongoing sample of system call and page fault usage statistics for a given process, in a β€œtop-like” fashion. it’s giving very main character monitoring energy.

🚨 bestie, this one requires root privileges because of the kernel tracing facility it uses to operate. no cap, don’t skip that part.

Page faults can be of the following types:

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

The arguments are as follows:

  • -c β€” 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.
  • -e β€” specifying the -e option generates output that is sorted by call count. this overrides the default sort by time.
  • -l β€” 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.
  • -s β€” 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. sc_usage 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.


🌸 SAMPLE USAGE 🌸

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. slay.


πŸ¦‹ SEE ALSO πŸ¦‹

go bother fs_usage(1), latency(1), and top(1) next, iykyk.


xoxo, source/version: macOS πŸ’– date: October 28, 2002 ✨ page: SC_USAGE(1) ✨

πŸ“¦ where this page comes from