X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=README;h=94a1b40843ff633d7a310362aacafb0e8b266571;hp=3cf3f13395414bcbcf19c0b6246092fd7216455e;hb=eb8bbf48e79a8c6afd3c84e3d64263d10ee45daa;hpb=4785f99523f5c69635eb4bd826f25cd2e264cda7 diff --git a/README b/README index 3cf3f133..94a1b408 100644 --- a/README +++ b/README @@ -19,6 +19,23 @@ 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 + + +Building +-------- + +Just type 'make' and 'make install'. If on FreeBSD, for now you have to +specify the FreeBSD Makefile with -f, eg: + +$ make -f Makefile.Freebsd && make -f Makefile.FreeBSD install + +Likewise with OpenSolaris, use the Makefile.solaris to compile there. +This might change in the future if I opt for an autoconf type setup. + Options ------- @@ -33,21 +50,30 @@ $ fio -l Generate per-job latency logs -w Generate per-job bandwidth logs -f Read for job descriptions + -O Log output to file -h Print help info -v Print version information and exit The format is as follows: + name=x Use 'x' as the identifier for this job. directory=x Use 'x' as the top level directory for storing files 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 @@ -73,6 +99,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 @@ -86,7 +113,21 @@ The format is as follows: 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. + ioscheduler=x Use ioscheduler 'x' for this job. Examples using a job file -------------------------