nc_request.c
nc_response.c
rsp_forward
--cmdhelp=cmd Print command help, "all" for all of them
--showcmd Turn a job file into command line options
--parse-only Parse options only, don't start any IO
--debug=options Enable debug logging. May be one/more of:
process,file,io,mem,blktrace,verify,random,parse,
diskutil,job,mutex,profile,time,net
--output Write output to file
--runtime Runtime in seconds
--latency-log Generate per-job latency logs
--bandwidth-log Generate per-job bandwidth logs
--minimal Minimal (terse) output
--output-format=x Output format (terse,json,normal)
--terse-version=x Set terse version output format to 'x'
--cpuclock-test Perform test/validation of CPU clock
--enghelp=engine Print ioengine help, or list available ioengines
--enghelp=engine,cmd Print help for an ioengine cmd
--eta=when When ETA estimate should be printed
May be "always", "never" or "auto"
--eta-newline=time Force a new line for every 'time' period passed
--status-interval=t Force full status dump every 't' period passed
--readonly Turn on safety read-only checks, preventing writes
--section=name Only run specified section in job file
--alloc-size=kb Set smalloc pool to this size in kb (def 1024)
--max-jobs=nr Maximum number of threads/processes to support
--server=args Start a backend fio server
--daemonize=pidfile Background fio server, write pid to file
--client=hostname Talk to remote backend fio server at hostname
--idle-prof=option Report cpu idleness on a system or percpu basis
(option=system,percpu) or run unit work
calibration only (option=calibrate)
--warnings-fatal Fio parser warnings are fatal
--version Print version info and exit
--help Print this page
ceph@ceph8:fio-2.1.3$ ./fio --cmdhelp=all
description : Text job description
name : Name of this job
filename : File(s) to use for the workload
lockfile : Lock file when doing IO to it
directory : Directory to store files in
filename_format : Override default $jobname.$jobnum.$filenum naming
opendir : Recursively add files from this directory and down
rw : IO direction
bs : Block size unit
ba : IO block offset alignment
bsrange : Set block size range (in more detail than bs)
bssplit : Set a specific mix of block sizes
bs_unaligned : Don't sector align IO buffer sizes
randrepeat : Use repeatable random IO pattern
use_os_rand : Set to use OS random generator
norandommap : Accept potential duplicate random blocks
ignore_error : Set a specific list of errors to ignore
rw_sequencer : IO offset generator modifier
ioengine : IO engine to use
iodepth : Number of IO buffers to keep in flight
iodepth_batch : Number of IO buffers to submit in one go
iodepth_batch_complete: Number of IO buffers to retrieve in one go
iodepth_low : Low water mark for queuing depth
size : Total size of device or files
fill_device : Write until an ENOSPC error occurs
filesize : Size of individual files
offset : Start IO from this offset
offset_increment : What is the increment from one offset to the next
number_ios : Force job completion of this number of IOs
random_generator : Type of random number generator to use
random_distribution : Random offset distribution generator
percentage_random : Percentage of seq/random mix that should be random
nrfiles : Split job workload between this number of files
file_service_type : How to select which file to service next
openfiles : Number of files to keep open at the same time
fallocate : Whether pre-allocation is performed when laying out files
fadvise_hint : Use fadvise() to advise the kernel on IO pattern
fsync : Issue fsync for writes every given number of blocks
fdatasync : Issue fdatasync for writes every given number of blocks
write_barrier : Make every Nth write a barrier write
sync_file_range : Use sync_file_range()
direct : Use O_DIRECT IO (negates buffered)
buffered : Use buffered IO (negates direct)
sync : Use O_SYNC for buffered writes
overwrite : When writing, set whether to overwrite current data
loops : Number of times to run the job
numjobs : Duplicate this job this many times
startdelay : Only start job when this period has passed
runtime : Stop workload when this amount of time has passed
time_based : Keep running until runtime/timeout is met
ramp_time : Ramp up time before measuring performance
clocksource : What type of timing source to use
mem : Backing type for IO buffers
verify : Verify data written
do_verify : Run verification stage after write
verifysort : Sort written verify blocks for read back
verifysort_nr : Pre-load and sort verify blocks for a read workload
verify_interval : Store verify buffer header every N bytes
verify_offset : Offset verify header location by N bytes
verify_pattern : Fill pattern for IO buffers
verify_fatal : Exit on a single verify failure, don't continue
verify_dump : Dump contents of good and bad blocks on failure
verify_async : Number of async verifier threads to use
verify_backlog : Verify after this number of blocks are written
verify_backlog_batch : Verify this number of IO blocks
trim_percentage : Number of verify blocks to discard/trim
trim_verify_zero : Verify that trim/discarded blocks are returned as zeroes
trim_backlog : Trim after this number of blocks are written
trim_backlog_batch : Trim this number of IO blocks
experimental_verify : Enable experimental verification
write_iolog : Store IO pattern to file
read_iolog : Playback IO pattern from file
replay_no_stall : Playback IO pattern file as fast as possible without stalls
replay_redirect : Replay all I/O onto this device, regardless of trace device
exec_prerun : Execute this file prior to running job
exec_postrun : Execute this file after running job
ioscheduler : Use this IO scheduler on the backing device
zonesize : Amount of data to read per zone
zonerange : Give size of an IO zone
zoneskip : Space between IO zones
lockmem : Lock down this amount of memory (per worker)
rwmixread : Percentage of mixed workload that is reads
rwmixwrite : Percentage of mixed workload that is writes
nice : Set job CPU nice value
prio : Set job IO priority value
prioclass : Set job IO priority class
thinktime : Idle time between IO buffers (usec)
thinktime_spin : Start think time by spinning this amount (usec)
thinktime_blocks : IO buffer period between 'thinktime'
rate : Set bandwidth rate
ratemin : Job must meet this rate or it will be shutdown
ratecycle : Window average for rate limits (msec)
rate_iops : Limit IO used to this number of IO operations/sec
rate_iops_min : Job must meet this rate or it will be shut down
max_latency : Maximum tolerated IO latency (usec)
invalidate : Invalidate buffer/page cache prior to running job
create_serialize : Serialize creating of job files
create_fsync : fsync file after creation
create_on_open : Create files when they are opened for IO
create_only : Only perform file creation phase
pre_read : Pre-read files before starting official testing
cpumask : CPU affinity mask
cpus_allowed : Set CPUs allowed
end_fsync : Include fsync at the end of job
fsync_on_close : fsync files on close
unlink : Unlink created files after job has completed
exitall : Terminate all jobs when one exits
stonewall : Insert a hard barrier between this job and previous
new_group : Mark the start of a new group (for reporting)
thread : Use threads instead of processes
write_bw_log : Write log of bandwidth during run
bwavgtime : Time window over which to calculate bandwidth (msec)
write_lat_log : Write log of latency during run
write_iops_log : Write log of IOPS during run
iopsavgtime : Time window over which to calculate IOPS (msec)
log_avg_msec : Average bw/iops/lat logs over this period of time
group_reporting : Do reporting on a per-group basis
zero_buffers : Init IO buffers to all zeroes
refill_buffers : Refill IO buffers on every IO submit
scramble_buffers : Slightly scramble buffers on every IO submit
buffer_compress_percentage: How compressible the buffer is (approximately)
buffer_compress_chunk : Size of compressible region in buffer
clat_percentiles : Enable the reporting of completion latency percentiles
percentile_list : Specify a custom list of percentiles to report
disk_util : Log disk utilization statistics
gtod_reduce : Greatly reduce number of gettimeofday() calls
disable_lat : Disable latency numbers
disable_clat : Disable completion latency numbers
disable_slat : Disable submission latency numbers
disable_bw_measurement: Disable bandwidth logging
gtod_cpu : Set up dedicated gettimeofday() thread on this CPU
unified_rw_reporting : Unify reporting across data direction
continue_on_error : Continue on non-fatal errors during IO
error_dump : Dump info on each error
profile : Select a specific builtin performance test
cgroup : Add job to cgroup of this name
cgroup_nodelete : Do not delete cgroups after job completion
cgroup_weight : Use given weight for cgroup
uid : Run job with this user ID
gid : Run job with this group ID
kb_base : How many bytes per KB for reporting (1000 or 1024)
unit_base : Bit multiple of result summary data (8 for byte, 1 for bit)
hugepage-size : When using hugepages, specify size of each page
flow_id : The flow index ID to use
flow : Weight for flow control of this job
flow_watermark : High watermark for flow control. This option should be set to the same value for all threads with non-zero flow.
flow_sleep : How many microseconds to sleep after being held back by the flow control mechanism