oslat - Man Page

OS Latency Detector


oslat[ -shvz ] [ -b bucket-size ] [ -B bias ] [ -c cpu-list ] [ -C cpu-main-thread ] [ -f rt-prio ] [ -m workload-mem ] [-t runtime ] [ -T trace-threshold ] [ -w workload ]


oslat is an open source userspace polling mode stress program to detect OS level latency.  The program runs a busy loop with no or various workloads, collecting TSC information and measuring the time frequently during the process.


-b,  --bucket-size=N

Specify the number of the buckets (4-1024).

-B,  --bias=USEC

Add a bias to all the buckets using the estimated mininum.

-c,  --cpu-list=CPULIST

Specify CPUs to run on.  For example, '1,3,5,7-15'.

-C,  --cpu-main-thread=CORE

Specify which CPU the main thread runs on.  Default is cpu0.

-f,  --rtprio=PRIORITY

Using specific SCHED_FIFO priority (1-99).  Otherwise use the default priority, normally it will be SCHED_OTHER.

-m,  --workload-mem=SIZE

Size of the memory to use for the workload (e.g., 4K, 1M). Total memory usage will be this value multiplies 2*N, because there will be src/dst buffers for each thread, and N is the number of processors for testing.

-t,  --runtime=SEC

Specify test duration, e.g., 60, 20m, 2H (m/M: minutes, h/H: hours, d/D: days). By default the unit is s/second.

-T,  --trace-threshold=THRESHOLD

Stop the test when threshold triggered (in USEC).  At the meantime, print a marker in ftrace and stop ftrace too.

-w,  --workload=WORKLOAD

Specify a kind of workload, default is no workload.  Options: "no", "memmove".

-s,  --single-preheat

Use a single thread when measuring latency at preheat stage NOTE: please make sure the CPU frequency on all testing cores are locked before using this parmater.  If you don't know how to lock the freq then please don't use this parameter.

-h,  --help

Show the help message.

-v,  --version

Show the version of the program.

-z,  --zero-omit

Don't display buckets in the output histogram if all zeros.


oslat was written by Peter Xu <peterx@redhat.com>.


August 17, 2020