fs_stress - UNIX file system stress utility
fs_stress [ -D device ] [ -F fstype ] [ -f min:max ] [ -n num ] [ -t min:max ] [ -mRLAdrsN1 ]
By default, fs_stress performs stress tests against all available file systems and all devices. By default, fs_stress reads the mount table and selects all file systems currently mounted that meet the test criteria.
Instead of testing all file systems and devices, you can configure fs_stress to perform stress tests against a specified file system type and specified device.
All I/O is sequential. By default, the amount of data to transfer is doubled at each iteration. You can use the -r option to vary the incremental transfer size randomly.
Any selected file system or device is skipped if it is marked read-only, if fs_stress has insufficient access privileges, or if the size is less than the maximum file size required by fs_stress.
You can use the -d option to perform raw disk I/O instead of file I/O.
CAUTION: Specify an unused slice to test raw disk I/O. Raw disk I/O could scratch the whole disk and all data will be lost.
During a test run, fs_stress performs the following tasks:
- Steps through each selected file system
- Makes a test directory
- Steps through increasing file sizes
- Performs write operations
- Performs read operations
- Performs write operations with record locking
- Performs read operations with record locking
- Performs aiowrite operations
- Performs aioread operations
To test the compatibility of a 32-bit application on a 64-bit system environment, the test run time is divided into two halves during certification. The 64-bit fs_stress application runs in first half of the test, and the 32-bit fs_stress application runs in second half of the test.
- -D device
- Use only this device. The default is to use all devices.
- -F fstype
- Use only this file system type. The default is to use all file system types.
- -f min:max
- The minimum and maximum file sizes to step through. The default is 1m:4m. See Valid suffixes for min and max values.
- -n num_tests
- The number of tests to run per file system. The default is 2.
- -r
- Use random file sizes and transfer sizes. The default is to step through the minimum and maximum file sizes in fixed steps.
- -t min:max
- The minimum and maximum transfer sizes to use. The default is 1k:64k. See Valid suffixes for min and max values.
File transfer increments start at either 1 Kbyte or the user-specifed min minimum. File transfer increments double with each step until one of the following maximums is reached: either the default maximum of 64 Kbytes or the user-specifed max maximum. Use the -r option to vary the incremental transfer size randomly.
Valid suffixes for min and max values:
- b bytes
- k kilobytes
- m megabytes
- g gigabytes
The following options restrict or modify the type of I/O tests:
- -A
- Perform asynchronous I/O only.
- -L
- Use record lock only.
- -R
- Use regular I/O only.
- -d
- Use raw disk I/O instead of file I/O.
Note: If you specify this -d option, you must also specify the -D option with a raw slice.
- -m
- Memory map the file under test.
The following options are used in benchmarking:
- -1
- Select only one partition per file system.
- -N
- No byte comparisons.
- -s
- Silent mode (do not display transfers).
This test sends output that describes the test command executed to standard output.
If critical failures occur, the test exits and writes the errors to standard error.
About 2 hours
This test can run concurrently with CON5, cdrom, and dd.
Example 1:
This example runs a basic set of tests on all file systems that are mounted, subject to the constraints noted above.
# fs_stressExample 2:
This example runs only on UFS file systems, performs 20 tests per file system instead of the default of 2, and uses a broader range of file sizes and transfer sizes.
# fs_stress -F ufs -r -n 20 -f 128k:16m -t 1k:256k
Copyright 2005 Sun Microsystems, Inc. All rights reserved.