LATENCY(1)

πŸ“¦ version 1042.100.6.0.1, in nixpkgs unstable

πŸ’… LATENCY(1) πŸ’…

okay so welcome to the LATENCY(1) page from the General Commands Manual, bestie β€” yes, that manual name is part of the lore, and this whole thing is about the latency utility. 🫢

🌸 NAME 🌸

latency β€” monitors scheduling and interrupt latency ✨

🌈 SYNOPSIS 🌈

latency [-p priority] [-h] [-m] [-st threshold] [-it threshold]
        [-c code_file] [-l log_file] [-R raw_file] [-n kernel]

πŸŽ€ DESCRIPTION πŸŽ€

The latency utility gives you scheduling and interrupt-latency statistics. Because of the kernel tracing facility it uses to operate, the command requires root privileges β€” like, actual root, no cap. 🚨

here are the arguments, one by one, no skips:

πŸŽ€ arguments πŸŽ€

  • -c code_file β€” when you pass -c, it takes a path to a code file that contains the mappings for the system calls. This option overrides the default location of the system call code file, which is found in /usr/share/misc/trace.codes. πŸ—‚οΈ
  • -h β€” displays high resolution interrupt latencies and writes them to latencies.csv (truncate existing file) upon exit. ✨
  • -m β€” displays per-CPU interrupt latency statistics. πŸ–₯️
  • -it threshold β€” sets the interrupt latency threshold, expressed in microseconds. If the latency exceeds this value, and a log file has been specified, a record of what occurred during this time is recorded. ⏱️
  • -l log_file β€” specifies a log file that is written to when either the interrupt or scheduling latency is exceeded. πŸ“
  • -n kernel β€” by default, latency acts on the default /System/Library/Kernels/kernel.development. This option allows you to specify an alternate booted kernel. 🧠
  • -p priority β€” specifies the priority level to observe scheduler latencies for. The default is realtime (97). A range of priorities to monitor can also be provided, for example 31-47 or 0-127. 🎯
  • -st threshold β€” sets the scheduler latency threshold in microseconds. If latency exceeds this, and a log file has been specified, a record of what occurred during this time is recorded. ⏳
  • -R raw_file β€” specifies a raw trace file to use as input. πŸ“₯

The data columns displayed are as follows:

  • SCHEDULER β€” the number of context switches that fall within the described delay. πŸ”„
  • INTERRUPTS β€” the number of interrupts that fall within the described delay. ⚑

The latency utility is also SIGWINCH savvy, so adjusting your window geometry will change the list of delay values displayed. πŸͺŸπŸ’«

🌸 SAMPLE USAGE 🌸

latency -p 97 -st 20000 -it 1000 -l /var/tmp/latency.log

The latency utility will watch threads with priority 97 for scheduling latencies. The threshold for the scheduler is set to 20000 microseconds. The threshold for interrupts is set to 1000 microseconds. Latencies that exceed these thresholds will be logged in /var/tmp/latency.log. πŸ”₯

🫢 SEE ALSO 🫢


Signed with macOS sparkle: this is LATENCY(1) from macOS, dated March 28, 2000 β€” byeee, bestie πŸ«ΆπŸ’–

πŸ“¦ where this page comes from