logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

runqlen - Scheduler run queue length as a histogram.

Author

       Brendan Gregg

Description

       This  program summarizes scheduler queue length as a histogram, and can also show run queue occupancy. It
       works by sampling the run queue length on all CPUs at 99 Hertz.

       This tool can be used to identify imbalances, eg, when processes are bound to CPUs causing  queueing,  or
       interrupt mappings causing the same.

       Since this uses BPF, only the root user can use this tool.

Examples

       Summarize run queue length as a histogram:
              # runqlen

       Print 1 second summaries, 10 times:
              # runqlen110

       Print output every second, with timestamps, and show each CPU separately:
              # runqlen-CT1

       Print run queue occupancy every second:
              # runqlen-O1

       Print run queue occupancy, with timestamps, for each CPU:
              # runqlen-COT1

Fields

       runqlen
              Scheduler run queue length: the number of threads (tasks) waiting to run, (excluding including the
              currently running task).

       count  Number of samples at this queue length.

       distribution
              An ASCII bar chart to visualize the distribution (count column)

Name

       runqlen - Scheduler run queue length as a histogram.

Options

       -h     Print usage message.

       -T     Include timestamps on output.

       -O     Report run queue occupancy.

       -C     Report for each CPU.

       interval
              Output interval, in seconds.

       count  Number of outputs.

Os

       Linux

Overhead

       This  uses  sampling  at  99  Hertz  (on  all  CPUs), and in-kernel summaries, which should make overhead
       negligible. This does not trace scheduler events, like  runqlen  does,  which  comes  at  a  much  higher
       overhead cost.

Requirements

       CONFIG_BPF and bcc.

See Also

runqlat(8), runqslower(8), pidstat(1)

USER COMMANDS                                      2016-12-12                                         runqlen(8)

Source

       This is from bcc.

              https://github.com/iovisor/bcc

       Also  look  in  the bcc distribution for a companion _examples.txt file containing example usage, output,
       and commentary for this tool.

Stability

       Unstable - in development.

Synopsis

runqlen[-h][-T][-O][-C][interval][count]

See Also