oslat - OS Latency Detector
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 ] |
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.
- --json=FILENAME
- 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.
- -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>.