X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=README;h=b662e714d62bb6f88f3880c5b5607c52a31556b6;hp=8514c73236c9ae9c7fa590b22eb176b7f64b5f3a;hb=e382e661f6a67a24d8042b9e4b8f812b7126bdc4;hpb=e7cb819ba0979f62a9fcc5445b306e737f94fae1 diff --git a/README b/README index 8514c732..b662e714 100644 --- a/README +++ b/README @@ -39,11 +39,6 @@ Starting with Ubuntu 10.04 LTS (aka "Lucid Lynx"), fio packages are part of the Ubuntu "universe" repository. http://packages.ubuntu.com/search?keywords=fio -SUSE: -Pascal Bleser has fio RPMs in his repository for SUSE -variants, you can find them here: -http://linux01.gwdg.de/~pbleser/rpm-navigation.php?cat=System/fio - Red Hat, CentOS & Co: Dag Wieërs has RPMs for Red Hat related distros, find them here: http://dag.wieers.com/rpm/packages/fio/ @@ -59,7 +54,7 @@ tool (http://www.opencsw.org/get-it/pkgutil/) and then install fio via Windows: Bruce Cran has fio packages for Windows at -http://www.bluestop.org/fio . +http://www.bluestop.org/fio/ . Mailing list @@ -109,11 +104,30 @@ based distros, it's typically called libaio-devel. Windows ------- -On Windows MinGW (http://www.mingw.org/) is required in order to -build fio. To create an MSI installer package install WiX 3.6 from -http://wix.sourceforge.net/releases/ and run dobuild.cmd from the +On Windows Cygwin (http://www.cygwin.com/) is required in order to +build fio. To create an MSI installer package install WiX 3.7 from +http://wixtoolset.org and run dobuild.cmd from the os/windows directory. +How to compile FIO on 64-bit Windows: + + 1. Install Cygwin (http://www.cygwin.com/setup.exe). Install 'make' and all + packages starting with 'mingw64-i686' and 'mingw64-x86_64'. + 2. Download ftp://sourceware.org/pub/pthreads-win32/prebuilt-dll-2-9-1-release/dll/x64/pthreadGC2.dll + and copy to the fio source directory. + 3. Open the Cygwin Terminal. + 4. Go to the fio directory (source files). + 5. Run 'make clean'. + 6. Run 'make'. + +To build fio on 32-bit Windows, download x86/pthreadGC2.dll instead and do +'./configure --build-32bit-win=yes' before 'make'. + +It's recommended that once built or installed, fio be run in a Command Prompt +or other 'native' console such as console2, since there are known to be display +and signal issues when running it under a Cygwin shell +(see http://code.google.com/p/mintty/issues/detail?id=56 for details). + Command line ------------ @@ -121,13 +135,15 @@ Command line $ fio --debug Enable some debugging options (see below) --output Write output to file - --timeout Runtime in seconds + --runtime Runtime in seconds --latency-log Generate per-job latency logs --bandwidth-log Generate per-job bandwidth logs --minimal Minimal (terse) output + --output-format=type Output format (terse,json,normal) + --terse-version=type Terse version output format (default 3, or 2 or 4). --version Print version info and exit - --terse-version=type Terse version output format (default 3, or 2). --help Print this page + --cpuclock-test Perform test/validation of CPU clock --cmdhelp=cmd Print command help, "all" for all of them --enghelp=engine Print ioengine help, or list available ioengines --enghelp=engine,cmd Print help for an ioengine cmd @@ -136,6 +152,7 @@ $ fio writes --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 --section=name Only run specified section in job file. Multiple sections can be specified. --alloc-size=kb Set smalloc pool to this size in kb (def 1024) @@ -143,6 +160,9 @@ $ fio --max-jobs Maximum number of threads/processes to support --server=args Start backend server. See Client/Server section. --client=host Connect to specified backend. + --idle-prof=option Report cpu idleness on a system or percpu basis + (option=system,percpu) or run unit work + calibration only (option=calibrate). Any parameters following the options will be assumed to be job files, @@ -232,10 +252,11 @@ The job file parameters are: readv/writev (with queuing emulation) mmap for mmap'ed io, syslet-rw for syslet driven read/write, splice for using splice/vmsplice, sg for direct SG_IO io, net - for network io, or cpuio for a cycler burner load. sg - only works on Linux on SCSI (or SCSI-like devices, such - as usb-storage or sata/libata driven) devices. Fio also - has a null io engine, which is mainly used for testing + for network io, rdma for RDMA io, or cpuio for a + cycler burner load. sg only works on Linux on + SCSI (or SCSI-like devices, such as usb-storage or + sata/libata driven) devices. Fio also has a null + io engine, which is mainly used for testing fio itself. iodepth=x For async io, allow 'x' ios in flight @@ -254,6 +275,11 @@ The job file parameters are: ratecycle=x ratemin averaged over x msecs cpumask=x Only allow job to run on CPUs defined by mask. cpus_allowed=x Like 'cpumask', but allow text setting of CPU affinity. + numa_cpu_nodes=x,y-z Allow job to run on specified NUMA nodes' CPU. + numa_mem_policy=m:x,y-z Setup numa memory allocation policy. + 'm' stands for policy, such as local, interleave, + bind, prefer, local. 'x, y-z' are numa node(s) for + memory allocation according to policy. fsync=x If writing with buffered IO, fsync after every 'x' blocks have been written. end_fsync=x If 'x', run fsync() after end-of-job.