A test work load is difficult to define, though. There can be any number of
processes or threads involved, and they can each be using their own way of
-generating I/O. You could have someone dirtying large amounts of memory in an
+generating I/O. You could have someone dirtying large amounts of memory in a
memory mapped file, or maybe several threads issuing reads using asynchronous
I/O. fio needed to be flexible enough to simulate both of these cases, and many
more.
Fio resides in a git repo, the canonical place is:
- git://git.kernel.dk/fio.git
-
-When inside a corporate firewall, git:// URL sometimes does not work.
-If git:// does not work, use the http protocol instead:
-
- http://git.kernel.dk/fio.git
+ https://git.kernel.dk/cgit/fio/
Snapshots are frequently generated and :file:`fio-git-*.tar.gz` include the git
meta data as well. Other tarballs are archives of official fio releases.
Snapshots can download from:
- http://brick.kernel.dk/snaps/
+ https://brick.kernel.dk/snaps/
There are also two official mirrors. Both of these are automatically synced with
the main repository, when changes are pushed. If the main repo is down for some
reason, either one of these is safe to use as a backup:
- 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
-
- git://github.com/axboe/fio.git
-
https://github.com/axboe/fio.git
------------
The fio project mailing list is meant for anything related to fio including
-general discussion, bug reporting, questions, and development.
+general discussion, bug reporting, questions, and development. For bug reporting,
+see REPORTING-BUGS.
An automated mail detailing recent commits is automatically sent to the list at
most daily. The list address is fio@vger.kernel.org, subscribe by sending an
in the body of the email. Archives can be found here:
- http://www.spinics.net/lists/fio/
+ https://www.spinics.net/lists/fio/
+
+or here:
+
+ https://lore.kernel.org/fio/
and archives for the old list can be found here:
Jens Axboe <axboe@kernel.dk> 20060905
+Maintainers
+-----------
+
+Fio is maintained by Jens Axboe <axboe@kernel.dk and
+Vincent Fu <vincentfu@gmail.com> - however, for reporting bugs please use
+the fio reflector or the GitHub page rather than email any of them
+directly. By using the public resources, others will be able to learn from
+the responses too. Chances are also good that other members will be able to
+help with your inquiry as well.
+
+
Binary packages
---------------
Debian:
Starting with Debian "Squeeze", fio packages are part of the official
- Debian repository. http://packages.debian.org/search?keywords=fio.
+ Debian repository. https://packages.debian.org/search?keywords=fio .
Ubuntu:
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.
+ https://packages.ubuntu.com/search?keywords=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/.
+Red Hat, Fedora, CentOS & Co:
+ Starting with Fedora 9/Extra Packages for Enterprise Linux 4, fio
+ packages are part of the Fedora/EPEL repositories.
+ https://packages.fedoraproject.org/pkgs/fio/ .
Mandriva:
Mandriva has integrated fio into their package repository, so installing
on that distro should be as easy as typing ``urpmi fio``.
+Arch Linux:
+ An Arch Linux package is provided under the Community sub-repository:
+ https://www.archlinux.org/packages/?sort=&q=fio
+
Solaris:
Packages for Solaris are available from OpenCSW. Install their pkgutil
tool (http://www.opencsw.org/get-it/pkgutil/) and then install fio via
``pkgutil -i fio``.
Windows:
- Rebecca Cran <rebecca+fio@bluestop.org> has fio packages for Windows at
- http://www.bluestop.org/fio/ .
+ Beginning with fio 3.31 Windows installers are available on GitHub at
+ https://github.com/axboe/fio/releases. Rebecca Cran
+ <rebecca@bsdio.com> has fio packages for Windows at
+ https://bsdio.com/fio/ . The latest builds for Windows can also be
+ grabbed from https://ci.appveyor.com/project/axboe/fio by clicking the
+ latest x86 or x64 build and then selecting the Artifacts tab.
BSDs:
Packages for BSDs may be available from their binary package repositories.
Windows
~~~~~~~
-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 :file:`dobuild.cmd` from the :file:`os/windows`
+The minimum versions of Windows for building/runing fio are Windows 7/Windows
+Server 2008 R2. On Windows, Cygwin (https://www.cygwin.com/) is required in
+order to build fio. To create an MSI installer package install WiX from
+https://wixtoolset.org and run :file:`dobuild.cmd` from the :file:`os/windows`
directory.
How to compile fio on 64-bit Windows:
- 1. Install Cygwin (http://www.cygwin.com/). Install **make** and all
- packages starting with **mingw64-i686** and **mingw64-x86_64**.
+ 1. Install Cygwin (https://www.cygwin.com/). Install **make** and all
+ packages starting with **mingw64-x86_64**. Ensure
+ **mingw64-x86_64-zlib** are installed if you wish
+ to enable fio's log compression functionality.
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, run ``./configure --build-32bit-win`` before
-``make``.
+To build fio for 32-bit Windows, ensure the -i686 versions of the previously
+mentioned -x86_64 packages are installed and 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 and
signal issues when running it under a Cygwin shell (see
-http://code.google.com/p/mintty/issues/detail?id=56 for details).
+https://github.com/mintty/mintty/issues/56 and
+https://github.com/mintty/mintty/wiki/Tips#inputoutput-interaction-with-alien-programs
+for details).
Documentation
``make -C doc man`` and then ``man doc/output/man/fio.1``. To see what other
output formats are supported run ``make -C doc help``.
-.. _reStructuredText: http://www.sphinx-doc.org/rest.html
-.. _Sphinx: http://www.sphinx-doc.org
+.. _reStructuredText: https://www.sphinx-doc.org/rest.html
+.. _Sphinx: https://www.sphinx-doc.org
Platforms
utility statistics and (I think) huge page support, support for that does exist
in FreeBSD/Solaris.
-Fio uses pthread mutexes for signalling and locking and FreeBSD does not
-support process shared pthread mutexes. As a result, only threads are
-supported on FreeBSD. This could be fixed with sysv ipc locking or
-other locking alternatives.
+Fio uses pthread mutexes for signalling and locking and some platforms do not
+support process shared pthread mutexes. As a result, on such platforms only
+threads are supported. This could be fixed with sysv ipc locking or other
+locking alternatives.
Other \*BSD platforms are untested, but fio should work there almost out of the
box. Since I don't do test runs or even compiles on those platforms, your