Your company here — click to reach over 10,000 unique daily visitors

oslat - Man Page

OS Latency Detector

# SPDX-License-Identifier: GPL-3.0-only


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


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

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.


Write final results into FILENAME, JSON formatted.

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

-D,  --duration=TIME

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.

-W,  --bucket-width

Interval between buckets in nanoseconds

NOTE: Widths not a multiple of 1000 cause ns-precision output You are responsible for considering the impact of measurement overhead at the nanosecond scale.

-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