Forrest logo
back to the fio tool

fio:tldr:03108

fio: Test random read/write.
$ sudo fio --filename=${filename} --size=500GB --direct=1 --rw=randrw --bs=4k --ioengine=libaio --iodepth=256 --runtime=120 --numjobs=4 --time_based --group_reporting --name=${job_name} --eta-newline=1
try on your machine

This command is using fio (Flexible I/O Tester) with several options to perform a disk I/O benchmark test.

Here's a breakdown of each option:

  • sudo: This command is used to run the following command with administrative privileges.

  • fio: This is the command itself, which stands for Flexible I/O Tester and is used for benchmarking disk I/O performance.

  • --filename=${filename}: Specifies the filename or path to the file that will be used for the I/O test. The ${filename} is a placeholder that should be replaced with the actual filename.

  • --size=500GB: Sets the size of the test file to 500 gigabytes.

  • --direct=1: Enables direct I/O, bypassing the operating system cache.

  • --rw=randrw: Sets the I/O pattern to random read-write.

  • --bs=4k: Sets the block size for I/O operations to 4 kilobytes.

  • --ioengine=libaio: Specifies the I/O engine to be used. In this case, it's libaio (Linux asynchronous I/O).

  • --iodepth=256: Sets the depth of the I/O queue. A higher value allows for more outstanding I/O operations.

  • --runtime=120: Sets the duration of the test to 120 seconds.

  • --numjobs=4: Specifies the number of parallel jobs that will be used to perform the I/O operations.

  • --time_based: Indicates that the test will be time-based rather than a fixed amount of work.

  • --group_reporting: Enables reporting of I/O performance for all threads together rather than individually.

  • --name=${job_name}: Specifies a name for the fio job. The ${job_name} is a placeholder that should be replaced with the desired name.

  • --eta-newline=1: Enables the use of newline characters in the estimated completion time output.

Overall, this command is running a disk I/O benchmark test using fio with specific settings, such as the file size, I/O pattern, block size, runtime, and number of parallel jobs.

This explanation was created by an AI. In most cases those are correct. But please always be careful and never run a command you are not sure if it is safe.
back to the fio tool