It is possible to tune the following items:
Amount of indirect extent management information (IEX) of the file to be cached in memory
(SFCFS_NCACHE_IEX)
Amount of free-extent based management information of the file system to be cached in memory
(SFCFS_NCACHE_EXTENT)
Amount of directory information to be cached in memory
(SFCFS_NCACHE_DIRECTORY)
Amount of i-nodes on the disk to be cached in memory
(SFCFS_NCACHE_INODE)
The areas of the following sizes are reserved in the process space of MDS for each file system:
Cache of indirect extent management information of the file
Specified value of SFCFS_NCACHE_IEX x 1.4 kilobytes
Cache of free-extent based management information of the file system
Specified value of SFCFS_NCACHE_EXTENT x 1.4 kilobytes
Cache of directory information
Specified value of SFCFS_NCACHE_DIRECTORY x 1.4 kilobytes
Cache of i-node
Specified value of SFCFS_NCACHE_INODE x 4.4 kilobytes
The following shows the default value, the range of configurable values, and amount of reserved memory for each tuning parameter.
Tuning parameter name | Default value | Minimum value | Maximum value | Amount of reserved memory with the default value (megabyte) |
---|---|---|---|---|
SFCFS_NCACHE_IEX | 512 | 512 | 1048576 | 0.7 |
SFCFS_NCACHE_EXTENT | 2304 | 192 | 32768 | 3.2 |
SFCFS_NCACHE_DIRECTORY | 10240 | 64 | 16384 | 14.0 |
SFCFS_NCACHE_INODE | 2048 | 32 | 16384 | 8.8 |
Specify the tuning parameters with the -o option of sfcadm(1M).
The following shows the setting example.
(Example)
# sfcadm -o SFCFS_NCACHE_IEX=5120 /dev/sfdsk/gfs01/rdsk/volume01 <Enter> # sfcadm -o SFCFS_NCACHE_EXTENT=4096 /dev/sfdsk/gfs01/rdsk/volume01 <Enter> # sfcadm -o SFCFS_NCACHE_DIRECTORY=20480 /dev/sfdsk/gfs01/rdsk/volume01 <Enter> # sfcadm -o SFCFS_NCACHE_INODE=5120 /dev/sfdsk/gfs01/rdsk/volume01 <Enter> |
Check the specified values with the -e option of sfcinfo(1M).
The following shows the example to check the values.
(Example)
# sfcinfo -e /dev/sfdsk/gfs01/dsk/volume01 | grep SFCFS_NCACHE <Enter> SFCFS_NCACHE_IEX=5120 SFCFS_NCACHE_EXTENT=4096 SFCFS_NCACHE_DIRECTORY=20480 SFCFS_NCACHE_INODE=5120 |
Point
The actual amount of IEX cache prepared by MDS can be checked in the MDS information message output when the GFS Shared File System is mounted. This message is output in /var/adm/messages on the node where the primary MDS operates.
The following shows the example to check the actual amount of IEX cache.
(Example to check the actual amount of IEX cache)
# mount /mnt/gfs01 <Enter> # grep "sfcfs_mds:3022" /var/adm/messages <Enter> Sep 1 16:20:10 host1 sfcfsmg[7550]: [ID 702911 daemon.notice] NOTICE: sfcfs_mds:3022: 1: amount of meta cache IEX is 5120 |
If the size of a directory exceeds the directory cache's size, performance of file creation in the directory or reference will fall. When a large directory is created, we recommend strongly that users specify a larger value for SFCFS_NCACHE_DIRECTORY.
Also, in the case of tuning, execute sfcstat(1M) that reports statistics on GFS Shared File System by specifying the -m option, and check the cache-hit ratio of the meta-cache which corresponds to the tuning parameter. The cache-hit ratio is calculated from the number of accesses and the number of cache hits. If the cache-hit ratio is low, consider to specify a larger value of the tuning parameter.
The following shows the correspondence of each tuning parameter and meta-cache type displayed by the -m option of sfcstat(1M).
Tuning parameter name | Meta-cache type |
---|---|
SFCFS_NCACHE_IEX | IEX |
SFCFS_NCACHE_EXTENT | NODE, LEAF |
SFCFS_NCACHE_DIRECTORY | DIR |
SFCFS_NCACHE_INODE | DINODE |
See
For the situation which tuning of SFCFS_NCACHE_IEX is required, refer to "C.3.6 Corrective action when file access performance is low."
To back to the default amount of cache, delete each tuning parameter setting.
The following shows the example to delete and check the parameter setting.
(Example)
# sfcadm -o SFCFS_NCACHE_IEX= /dev/sfdsk/gfs01/rdsk/volume01 <Enter> # sfcadm -o SFCFS_NCACHE_EXTENT= /dev/sfdsk/gfs01/rdsk/volume01 <Enter> # sfcadm -o SFCFS_NCACHE_DIRECTORY= /dev/sfdsk/gfs01/rdsk/volume01 <Enter> # sfcadm -o SFCFS_NCACHE_INODE= /dev/sfdsk/gfs01/rdsk/volume01 <Enter> |
(Example)
# sfcinfo -e /dev/sfdsk/gfs01/dsk/volume01 | grep SFCFS_NCACHE <Enter> |
If no value is displayed here, the setting has been deleted.