X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=README;h=aec8207ce27c980e70ebbdb49abffc4af7e0a9f1;hp=afef8ec50203d7c367b8cc03537612545db3fedd;hb=4e0ba8af8f0bfe0f194122661c8a659c2ac748e6;hpb=ebac4655dd3624f3296ff83be48e0cdc02852f18 diff --git a/README b/README index afef8ec5..aec8207c 100644 --- a/README +++ b/README @@ -6,6 +6,25 @@ type of io action as specified by the user. fio takes a number of global parameters, each inherited by the thread unless otherwise parameters given to them overriding that setting is given. + +Source +------ + +fio resides in a git repo, the canonical place is: + +git://brick.kernel.dk/data/git/fio.git + +Snapshots are frequently generated as well and they include the git +meta data as well. You can download them here: + +http://brick.kernel.dk/snaps/ + +Pascal Bleser has fio RPMs in his repository, you +can find them here: + +http://linux01.gwdg.de/~pbleser/rpm-navigation.php?cat=System/fio + + Options ------- @@ -19,19 +38,28 @@ $ fio -l Generate per-job latency logs -w Generate per-job bandwidth logs -f Read for job descriptions + -h Print help info -v Print version information and exit The format is as follows: directory=x Use 'x' as the top level directory for storing files - rw=x 'x' may be: read, randread, write, or randwrite + rw=x 'x' may be: read, randread, write, randwrite, + rw (read-write mix), randrw (read-write random mix) + rwmixcycle=x Base cycle for switching between read and write + in msecs. + rwmixread=x 'x' percentage of rw mix ios will be reads. If + rwmixwrite is also given, the last of the two will + be used if they don't add up to 100%. + rwmixwrite=x 'x' percentage of rw mix ios will be writes. See + rwmixread. size=x Set file size to x bytes (x string can include k/m/g) ioengine=x 'x' may be: aio/libaio/linuxaio for Linux aio, posixaio for POSIX aio, sync for regular read/write io, - mmap for mmap'ed io, or sgio for direct SG_IO io. The - latter only works on Linux on SCSI (or SCSI-like - devices, such as usb-storage or sata/libata driven) - devices. + mmap for mmap'ed io, splice for using splice/vmsplice, + or sgio for direct SG_IO io. The latter only works on + Linux on SCSI (or SCSI-like devices, such as + usb-storage or sata/libata driven) devices. iodepth=x For async io, allow 'x' ios in flight overwrite=x If 'x', layout a write file first. prio=x Run io at prio X, 0-7 is the kernel allowed range @@ -57,6 +85,7 @@ The format is as follows: bwavgtime=x Average bandwidth stats over an x msec window. create_serialize=x If 'x', serialize file creation. create_fsync=x If 'x', run fsync() after file creation. + end_fsync=x If 'x', run fsync() after end-of-job. loops=x Run the job 'x' number of times. verify=x If 'x' == md5, use md5 for verifies. If 'x' == crc32, use crc32 for verifies. md5 is 'safer', but crc32 is @@ -64,7 +93,26 @@ The format is as follows: stonewall Wait for preceeding jobs to end before running. numjobs=x Create 'x' similar entries for this job thread Use pthreads instead of forked jobs - + zonesize=x + zoneskip=y Zone options must be paired. If given, the job + will skip y bytes for every x read/written. This + can be used to gauge hard drive speed over the entire + platter, without reading everything. Both x/y can + include k/m/g suffix. + iolog=x Open and read io pattern from file 'x'. The file must + contain one io action per line in the following format: + rw, offset, length + where with rw=0/1 for read/write, and the offset + and length entries being in bytes. + write_iolog=x Write an iolog to file 'x' in the same format as iolog. + The iolog options are exclusive, if both given the + read iolog will be performed. + lockmem=x Lock down x amount of memory on the machine, to + simulate a machine with less memory available. x can + include k/m/g suffix. + nice=x Run job at given nice value. + exec_prerun=x Run 'x' before job io is begun. + exec_postrun=x Run 'x' after job io has finished. Examples using a job file -------------------------