This appendix discusses the following:
This section discusses the following:
All XFS parameters are dynamic. Before changing any parameter, you should understand the ramifications of doing so on your system. You should change debugging parameters only at the recommendation of SGI Support.
The values of these parameters vary in different releases of the product. When upgrading the product, consult SGI Support to determine whether any changes made to the parameters in this chapter should be carried forward. Setting these parameters incorrectly may render the system unstable or otherwise unusable.
Each of the parameters uses a prefix of fs.xfs. For example, the full name of the stats_clear parameter is fs.xfs.stats_clear.
To ensure that a parameter is set upon reboot, modify or create a line like the following in the /etc/modprobe.d/sgi-xfs.conf file or equivalent:
install xfs /sbin/modprobe --ignore-install xfs; echo value > /proc/sys/fs/xfs/systune |
where:
value is the value you want to set
systune is the parameter name
For example, to permanently set the rotorstep parameter to 255:
install xfs /sbin/modprobe --ignore-install xfs; echo 255 >/proc/sys/fs/xfs/rotorstep |
The change will take effect upon reboot.
| Note: This is the recommended method to permanently set an XFS system tunable parameter. Setting the parameter in the /etc/sysctl.conf file is not recommended because the file may be parsed at boot time before the xfs module is loaded. |
For a temporary change to a dynamic parameter, use the Linux sysctl(8) command as follows:
# sysctl -w "fs.xfs.systune=value" |
where:
systune is the parameter name
value is the value you want to set for the parameter
| Note: Do not use spaces around the = character. |
For example, to temporarily set the rotorstep parameter (which has the fs.xfs prefix) to 255, enter the following:
# sysctl fs.xfs.rotorstep=255 fs.xfs.rotorstep = 255 |
This section discusses the following:
Most of the dynamic parameters in this section affect the behavior of all mounted XFS filesystems, therefore you should set them at initial configuration and you should change them only to follow the desired site policy:
Specifies whether the noatim flag set by the xfs_io(8) chattr command will be inherited by files in a given directory.
Range of values:
0 prevents inheritance
1 causes the noatim
flag to be inherited
Specifies whether the nodfrg flag set by the xfs_io(8) chattr command will be inherited by files in a given directory.
Range of values:
0 prevents inheritance
1 causes the nodfrg flag to be inherited
Specifies whether the nodump flag set by the xfs_io(8) chattr command will be inherited by files in a given directory.
Range of values:
0 prevents inheritance
1 causes the nodump flag to be inherited
Specifies whether the nosymlinks flag set by the xfs_io(8) chattr command will be inherited by files in a given directory.
Range of values:
0 prevents inheritance
1 causes the nosymlinks flag to be inherited
Specifies whether the sync flag set by the xfs_io(8) chattr command will be inherited by files in a given directory.
Range of values:
0 prevents inheritance
1 causes the sync flag to be inherited
Controls the action taken for a file created in a set group ID (SGID) directory if the group ID of the new file does not match the effective group ID or one of the supplementary group IDs of the parent directory.
Range of values:
0 does not clear the S_ISGID bit
1 clears the S_ISGID bit
The parameter in this section affects the behavior of all mounted XFS filesystems, therefore you should it at initial configuration and you should change it only to follow the desired site policy. Changes to this parameter takes effect at mount time.
The default values for the following dynamic parameters are optimal for most workload, and you should take extra caution when changing them for performance tuning:
| Note: The probe_limit parameter is part of enhanced XFS. |
Specifies the maximum number of pages that XFS will cluster together when probing, in order to optimize the conversion of delayed allocation or unwritten extents into real extents.
Range of values:
Default: 4096 (0x1000)
Minimum: 0
Maximum: 2097151 (0x1fffff)
In inode32 allocation mode, determines how many files the allocator attempts to allocate before moving to the next allocation group. The intent is to control the rate at which the allocator moves between allocation groups when allocating extents for new files.
Range of values:
Default: 1
Minimum: 1
Maximum: 255
See also:
Specifies the interval (in centiseconds) at which the xfssyncd thread flushes metadata such as log activity out to disk does some processing on unlinked inodes.
Range of values:
Default: 3000
Minimum: 100
Maximum: 720000
The default value for the following parameter is optimal for most workload, and you should take extra caution when changing it for performance tuning. Changes to this parameter takes effect at mount time.
| Caution: Do not change these parameters unless instructed to do so by SGI Support. |
This section discusses debugging parameters that should be changed at the recommendation of SGI Support:
Specifies the reporting volume when internal errors occur, such as the number of detailed messages and backtraces for filesystem shutdowns. XFS macros use the following threshold values:
| XFS_ERRLEVEL_OFF is 0 |
| XFS_ERRLEVEL_LOW is 3 |
| XFS_ERRLEVEL_HIGH is 5 |
Range of values:
Default: 3
Minimum: 0 (turns off error reporting)
Maximum: 11
Specifies a bitmask that causes certain error conditions to call BUG(). The value is the AND value of the following tags representing errors that should cause panics:
XFS_NO_PTAG 0 XFS_PTAG_IFLUSH 0x00000001 XFS_PTAG_LOGRES 0x00000002 XFS_PTAG_AILDELETE 0x00000004 XFS_PTAG_ERROR_REPORT 0x00000008 XFS_PTAG_SHUTDOWN_CORRUPT 0x00000010 XFS_PTAG_SHUTDOWN_IOERROR 0x00000020 XFS_PTAG_SHUTDOWN_LOGERROR 0x00000040 |
Range of values:
Default: 0
Minimum: 0
Maximum: 255