http://brick.kernel.dk/snaps/
+There are also two official mirrors. Both of these are synced within
+an hour of commits landing at git.kernel.dk. So if the main repo is
+down for some reason, either one of those is safe to use:
+
+ git://git.kernel.org/pub/scm/linux/kernel/git/axboe/fio.git
+ https://git.kernel.org/pub/scm/linux/kernel/git/axboe/fio.git
+
+or
+
+ https://github.com/axboe/fio.git
+
Binary packages
---------------
$ make CROSS_COMPILE=/path/to/toolchain/prefix
Configure will attempt to determine the target platform automatically.
+It's possible to build fio for ESX as well, use the --esx switch to
+configure.
+
Windows
-------
-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
+On Windows, Cygwin (http://www.cygwin.com/) is required in order to
+build fio. To create an MSI installer package install WiX 3.8 from
http://wixtoolset.org and run dobuild.cmd from the
os/windows directory.
-How to compile FIO on 64-bit Windows:
+How to compile fio on 64-bit Windows:
- 1. Install Cygwin (http://www.cygwin.com/setup.exe). Install 'make' and all
+ 1. Install Cygwin (http://www.cygwin.com/). 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'.
+ 2. Open the Cygwin Terminal.
+ 3. Go to the fio directory (source files).
+ 4. Run 'make clean && make -j'.
-To build fio on 32-bit Windows, download x86/pthreadGC2.dll instead and do
-'./configure --build-32bit-win=yes' before 'make'.
+To build fio on 32-bit Windows, run './configure --build-32bit-win' 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
--parse-only Parse options only, don't start any IO
--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=type Output format (terse,json,normal)
--version Print version info and exit
--help Print this page
--cpuclock-test Perform test/validation of CPU clock
+ --crctest[=test] Test speed of checksum functions
--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
--idle-prof=option Report cpu idleness on a system or percpu basis
(option=system,percpu) or run unit work
calibration only (option=calibrate).
+ --inflate-log=log Inflate and output compressed log
Any parameters following the options will be assumed to be job files,
time Dump info related to internal time keeping
net Dump info related to networking connections
rate Dump info related to IO rate switching
+ compress Dump info related to log compress/decompress
? or help Show available debug options.
One can specify multiple debug options: e.g. --debug=file,mem will enable
Platforms
---------
-Fio works on (at least) Linux, Solaris, AIX, HP-UX, OSX, NetBSD, Windows
-and FreeBSD. Some features and/or options may only be available on some of
-the platforms, typically because those features only apply to that platform
-(like the solarisaio engine, or the splice engine on Linux).
+Fio works on (at least) Linux, Solaris, AIX, HP-UX, OSX, NetBSD, OpenBSD,
+Windows and FreeBSD. Some features and/or options may only be available on
+some of the platforms, typically because those features only apply to that
+platform (like the solarisaio engine, or the splice engine on Linux).
Some features are not available on FreeBSD/Solaris even if they could be
implemented, I'd be happy to take patches for that. An example of that is