X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=README;h=359fc2d2f9bb977368c6d2460d13495256c563bf;hp=79d71f9a8bab641ee8952a060c152478aae947e5;hb=b990b5c06801d6d25e3fcc5415efbbe7bb23341e;hpb=972cfd2546081c0397447ca9243ea419b1ff579a diff --git a/README b/README index 79d71f9a..359fc2d2 100644 --- a/README +++ b/README @@ -43,16 +43,11 @@ Command line ------------ $ fio - -s IO is sequential - -b block size in KiB for each io -t Runtime in seconds - -r For random io, sequence must be repeatable - -R If one thread fails to meet rate, quit all - -o Use direct IO is 1, buffered if 0 -l Generate per-job latency logs -w Generate per-job bandwidth logs - -f Read for job descriptions - -O Log output to file + -o Log output to file + -m Minimal (terse) output -h Print help info -v Print version information and exit @@ -82,6 +77,8 @@ The job file parameters are: be used if they don't add up to 100%. rwmixwrite=x 'x' percentage of rw mix ios will be writes. See rwmixread. + rand_repeatable=x The sequence of random io blocks can be repeatable + across runs, if 'x' is 1. 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, @@ -104,7 +101,9 @@ The job file parameters are: cpumask=x Only allow job to run on CPUs defined by mask. fsync=x If writing, fsync after every x blocks have been written startdelay=x Start this thread x seconds after startup - timeout=x Terminate x seconds after startup + timeout=x Terminate x seconds after startup. Can include a + normal time suffix if not given in seconds, such as + 'm' for minutes, 'h' for hours, and 'd' for days. offset=x Start io at offset x (x string can include k/m/g) invalidate=x Invalidate page cache for file prior to doing io sync=x Use sync writes if x and writing @@ -143,6 +142,9 @@ The job file parameters are: 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. + cpuload=x For a CPU io thread, percentage of CPU time to attempt + to burn. + cpuchunks=x Split burn cycles into pieces of x. Examples using a job file @@ -306,14 +308,39 @@ util= The disk utilization. A value of 100% means we kept the disk busy constantly, 50% would be a disk idling half of the time. +Terse output +------------ + +For scripted usage where you typically want to generate tables or graphs +of the results, fio can output the results in a comma seperated format. +The format is one long line of values, such as: + +client1,0,0,936,331,2894,0,0,0.000000,0.000000,1,170,22.115385,34.290410,16,714,84.252874%,366.500000,566.417819,3496,1237,2894,0,0,0.000000,0.000000,0,246,6.671625,21.436952,0,2534,55.465300%,1406.600000,2008.044216,0.000000%,0.431928%,1109 + +Split up, the format is as follows: + + jobname, groupid, error + READ status: + KiB IO, bandwidth (KiB/sec), runtime (msec) + Submission latency: min, max, mean, deviation + Completion latency: min, max, mean, deviation + Bw: min, max, aggreate percentage of total, mean, deviation + WRITE status: + KiB IO, bandwidth (KiB/sec), runtime (msec) + Submission latency: min, max, mean, deviation + Completion latency: min, max, mean, deviation + Bw: min, max, aggreate percentage of total, mean, deviation + CPU usage: user, system, context switches + + Author ------ -Fio was written by Jens Axboe to enable flexible testing +Fio was written by Jens Axboe to enable flexible testing of the Linux IO subsystem and schedulers. He got tired of writing specific test applications to simulate a given workload, and found that the existing io benchmark/test tools out there weren't flexible enough to do what he wanted. -Jens Axboe 20060609 +Jens Axboe 20060905