OSLAT(8)
β¨ NAME β¨
oslat β the OS Latency Detector π (it lives in section 8 of the manual, system manager territory, so oslat(8) bestie π«Ά)
psst, this page ships under SPDX-License-Identifier: GPL-3.0-only π open source fr fr
π¦ SYNOPSIS π¦
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 ]
π₯ DESCRIPTION π₯
okay so oslat is an open source userspace polling mode stress program and its whole job is detecting OS level latency π no cap.
The way it works: the program runs a busy loop β either with no workload at all or with various workloads β and while it's doing that it's collecting TSC information and measuring the time frequently during the process π it's giving obsessed-with-timestamps energy.
π OPTIONS π
-b,--bucket-size=Nβ pick how many buckets you want (the range is4-1024) π-B,--biasβ adds a bias to all the buckets, using the estimated minimum π-c,--cpu-list=CPULISTβ tell it which CPUs to run on. like for example,'1,3,5,7-15'β¨-C,--cpu-main-thread=COREβ says which CPU the main thread runs on. default iscpu0πΈ-f,--rtprio=PRIORITYβ use a specificSCHED_FIFOpriority, range1-99π₯ otherwise you get the default priority, which normally isSCHED_OTHER.--json=FILENAMEβ write the final results into FILENAME, JSON formatted π-m,--workload-mem=SIZEβ the size of the memory used for the workload (like4K,1Mfor example). heads up tho: total memory usage is gonna be this value multiplied by2*N, because there's gonna be src/dst buffers for each thread, and N is the number of processors you're testing with π§-D,--duration=TIMEβ set the test duration, e.g.60,20m,2H(m/M= minutes,h/H= hours,d/D= days). by default the unit iss/second β-T,--trace-threshold=THRESHOLDβ stop the test when the threshold gets triggered (inUSEC). and at the same meantime, it prints a marker inftraceand stopsftracetoo π-w,--workload=WORKLOADβ pick a kind of workload, default is no workload. options are:"no","memmove"π¦-s,--single-preheatβ uses a single thread when measuring latency at the 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 π (she said it twice because she means it)
-W,--bucket-widthβ the interval between buckets, in nanoseconds.
β οΈ NOTE: widths that are 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β shows the help message π-v,--versionβ shows the version of the program β¨-z,--zero-omitβ doesn't display buckets in the output histogram if they're all zeros π
π AUTHOR π
oslat was written by Peter Xu <peterx@redhat.com> π absolute icon behavior, we stan.
and that's the whole page bestie!! this one came out of the System Manager's Manual and it's dated August 17, 2020 β yeah she's an OG OSLAT(8) entry π
π«Ά go measure some latency, ily, bye!! πΈπ
π¦ where this page comes from
- arch rolling: rt-tests 2.11-1 Β· GPL-2.0-or-later
- centos-stream 10: realtime-tests 2.11-1.el10 Β· GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-only AND LGPL-2.1-or-later
- centos-stream 9: realtime-tests 2.11-1.el9 Β· GPLv2
- fedora 43: realtime-tests 2.11-1.fc43 Β· GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-only AND LGPL-2.1-or-later
- fedora 43: realtime-tests 2.8-6.fc43 Β· GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-only AND LGPL-2.1-or-later
- fedora 44: realtime-tests 2.11-1.fc44 Β· GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-only AND LGPL-2.1-or-later
- fedora 44: realtime-tests 2.8-7.fc44 Β· GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-only AND LGPL-2.1-or-later
- nixos 26.05: rt-tests 2.10
- nixpkgs unstable: rt-tests 2.11
- opensuse-leap 16.0: rt-tests 2.8-160000.2.2 Β· GPL-2.0-only
- opensuse-leap 16.0: rt-tests 2.8-160000.2.2 Β· GPL-2.0-only
- opensuse-leap 16.0: rt-tests 2.8-160000.2.2 Β· GPL-2.0-only
- opensuse-leap 16.0: rt-tests 2.8-160000.2.2 Β· GPL-2.0-only
- ubuntu resolute: rt-tests 2.9-1ubuntu1 Β· GPL-2.0-only
- ubuntu stonking: rt-tests 2.10-1ubuntu1 Β· GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms