Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

sys_attrs_vfs(5) [osf1 man page]

sys_attrs_vfs(5)						File Formats Manual						  sys_attrs_vfs(5)

NAME
sys_attrs_vfs - system attributes for the vfs kernel subsystem DESCRIPTION
This reference page describes system attributes for the Virtual File System (vfs) kernel subsystem. Do not directly edit the system configuration file to change a system attribute value; use the dxkerneltuner application, the /sbin/sysconfig -r command, or the sysconfigdb command. See dxkerneltuner(8), sysconfig(8), and sysconfigdb(8) for more information about your options for configuring kernel subsystems. Some subsystem attributes can be changed at run time. If so, the attribute descriptions in the following subsections mention that fact. To make it easy for you to locate these attributes when scanning lists, an asterisk (*) also precedes the names of these attributes. vfs Subsystem Attributes Percentage of memory that the kernel wires for the metadata buffer cache. Default value: 3 (percent) for 32-MB or larger systems; 2 (percent) for 24-MB systems Minimum value: 0 Maximum value: 50 Increasing the value of the bufcache attribute can improve I/O performance by providing more memory for caching UFS file system data. Decreasing the value of the bufcache attribute can free memory resources. For systems that cache only AdvFS file system data, you may want to decrease the value to 1. Size, in slots, of the hash chain table for the metadata buffer cache. The hash chain table is used to store the heads of the hashed buffer queues. Default value: 2048 (slots) Minimum value: 0 Maximum value: 524,287 A large hash chain table distributes the buffers and may make chain lengths short. Increasing the size of the hash chain table can reduce linear searches and improve lookup speed. The number of pages to reserve for UBC buffers. Default value: Calculated from the value of the bufcache attribute and system memory size. Minimum value: 0 Maximum value: Varies, depending on how much memory the system has. The value of bufpages overrides the value of bufcache, which sets the size of the metadata buffer cache as a percentage of available memory (in whole numbers only) rather as a specific number of pages. Normally, sizing the metadata buffer cache in terms of a per- centage rather than page count is appropriate. However, if you want the size of this buffer cache to be between 0 and 1 percent of available memory, you must set the bufpages value to the number of pages equal to that percentage. This sort of setting is extreme and only feasible on very large memory (VLM) systems. A value that enables (1) or disables (0) the pipe code that attempts to do batch writes to a pipe and deliver the data in a single call to a reader. Default value: 1 (enabled) A value that determines whether maximizing UFS I/O throughput to keep a device busy (within the constraints of the io_throttle_shift attribute) is enabled (1) or disabled (0). If io_throttle_maxmzthruput is disabled, the availability of dirty pages is maximized, which enables the operating system to decrease the time spent waiting for dirty pages. You may want to consider disabling io_throttle_maxmzthruput if your I/O is limited to a small number of I/O-intensive applications that access a specific set of pages. In this case, maximizing the availability of dirty pages is more important than keeping the I/O device busy. In addition, if you have an environment that cannot tolerate delays in accessing sets of frequently-used dirty pages, you may want to consider disabling io_throttle_maxmzthruput. Default value: 1 (enabled) You can modify this attribute at run time. A value that limits the maximum number of concurrent delayed UFS I/O requests on an I/O device queue. The more requests on a device queue, the more time is required to process those requests and make those pages and the device available. The number of concurrent delayed I/O requests on an I/O device queue can be limited by setting the io_throttle_shift attribute. The throttle value is based on this attribute and the calculated I/O completion rate. The throttle value is proportional to the time required to process the I/O device queue. The relation between the value of the io_throttle_shift attribute and the time it takes to process the device queue is shown in the following table. ----------------------------------------------------------------- Value of io_throttle_shift Time to Process Device Queue in Seconds ----------------------------------------------------------------- -4 .0625 -3 .125 -2 .25 -1 .50 0 1 1 2 2 4 3 8 4 16 ----------------------------------------------------------------- For example, if io_throttle_shift is 0 (zero), the queue of UFS I/O requests requires approximately 1 second to process. Environ- ments that cannot tolerate delays in accessing a device queue may want to consider reducing the default value of the io_throt- tle_shift attribute. Default value: 1 Minimum value: -4 Maximum value: 4 You can modify this attribute at run time. A static limit on the number of asynchronous UFS I/O requests that can be put on the device queue. The default value of 0 (zero) allows the operating system to determine the optimal rate. Default value: 0 Minimum value: 0 Maximum value: 4,294,967,295 You can modify this attribute at run time. Obsolete attribute. The operating system no longer uses this value. Maximum number of UFS or MFS file system mounts. You can increase the value of the max_ufs_mounts attribute if you want to mount more than the default number of UFS or MFS file systems. This attribute does not affect performance. Default value: 1000 (file system mounts) Minimum value: 0 Maximum value: 2,147,483,647 You can modify this attribute at run time. Maximum number of vnodes (open files) on a system. Default value: 1000 (for 24-MB systems); the number of vnodes that 5 percent of available memory can contain (for 32-MB or larger systems) Minimum value: Specified by the nvnode attribute Maximum value: The number of vnodes that 5 percent of physical memory can contain Increasing the value of the max_vnodes attribute allows more vnodes on a system, which may improve performance if your applications or users create a large number of open files. Decreasing the value returns more memory to the system. You can modify this attribute at run time. If you change the default value at boot time, the 5 percent maximum no longer applies. Minimum number of free vnodes on the free list. If the number of vnodes on the free list is less than the value of the min_free_vnodes attribute, vnodes are deallocated. Default value: nvnode attribute (for 32-MB or larger systems); 150 (for 24-MB systems) Minimum value: 0 Maximum value: 1,717,986,918 Increasing the value causes the system to cache more free vnodes and may improve performance for vnode cache lookup operations. However, a large value increases the demand for memory. You can modify this attribute at run time.and Size, in slots, of the hash chain table for the namei cache. By default, the value for name_cache_hash_size is automatically scaled according to the value of name_cache_size. Default value: name_cache_size/8 or 8192 (whichever is smaller) Minimum value: 0 Maximum value: name_cache_size/2 Large hash chain tables distribute the namei cache elements and may make chain lengths short, which can reduce linear searches and improve lookup speeds. In general, chains should contain only 2 or 3 elements. Number of table elements in the hash chain table for the namei cache. The namei cache uses this hash chain table to distribute the namei cache elements and minimize linear searches. Default value: 2 * nvnode * 11/10 (for 32-MB or larger systems); 150 (for 24-MB systems) Minimum value: 0 Maximum value: 2 * max_vnodes * 11/10 Increasing the value of the name_cache_size attribute may improve lookup speeds, but it requires more memory. Decreasing the value can free memory. To determine an appropriate value for the name_cache_hash_size attribute, divide the value of name_cache_size by 3 or 4 and then round down the result to a power of 2. For example, if the value of name_cache_size is 1029, dividing 1029 by 4 produces a value of 257. Based on this calculation, you could specify 256 (2 to the power of 8) for the value of the name_cache_hash_size attribute. Amount of time, in seconds, that a namei cache entry can remain in the cache before it is discarded. Default value: 1200 (seconds) for 32-MB or larger systems; 30 (seconds) for 24-MB systems Minimum value: 0 Maximum value: 2,147,483,647 A large namei-cache-valid-time attribute value will retain more vnodes references in the namei cache and improve the namei cache lookup speed; however, it will require more memory resources. A small value may cause premature deallocation of vnodes and decrease the namei cache lookup speed. Maximum number of record locks that may be held by a process. This limit prevents lock structures for any one process from consuming too much kernel memory. Default value: 10,000 (locks) Minimum value: 1000 Maximum value: 100,000 You can modify this attribute at run time. A value that enables (any positive value) or disables (0) the ability of users to create new executables on the system. This is an enhanced security feature that is used, for example, on firewall systems. It does not affect performance. In a TruCluster environ- ment, this attribute must have the same setting on all cluster members. See the Security manual for more information about enhanced security features. Default value: 0 (disabled) Obsolete in that it does not determine the maximum and the minimum number of vnodes on a system. You should use the max_vnodes and min_free_vnodes attributes to adjust these mininum and maximum values. Default value: nproc+(2*maxusers)+128 It is strongly recommended that you not change the default value of nvnode. The value of nvnode depends by default on the value of maxusers, and this dependency should be left alone. Although the kernel uses the nvnode value to calculate the default value of other attributes, such as name_cache_size, you can change these attributes directly if there is a need to override their defaults. A value that enables (1) or disables (0) the ability of the telldir(3) and seekdir(3) routines to work on Network File System (NFS) mounts from certain NFS vendors. Enable this feature if your programs require this specific requirement. Once enabled, however, NFS directory accesses might be less efficient. Default value: 0 (disabled) Size, in number of zone elements, of the pathname zone for pathname lookup buffers. Increasing the value of path_num_max increases the number of elements in the zone that is allocated for pathnames. Default value: 64 (zone elements) Minimum value: 0 Maximum value: 2,147,483,647 Number of data bytes in each pipe data buffer. Default value: 8192 (bytes) Minimum value: 4096 Maximum value: 32,768 You can modify this attribute at run time. Maximum number of bytes reserved for all pipes. Default value: 134,217,728 (bytes) Minimum value: 819,200 Maximum value: 1,717,986,918 You can modify this attribute at run time. Maximum number of bytes buffered per pipe. Default value: 262,144 (bytes) Minimum value: 4096 Maximum value: 1,048,576 You can modify this attribute at run time. A value that determines whether the revoke() system call can invalidate file descriptors on block special devices. If revoke_tty_only is set to 1 (the default), the revoke() argument must be a character (tty) device, and a block device argument results in an [ENOTTY] error. If revoke_tty_only is set to 0, the revoke() argument can be either a character or a block device. Default value: 1 (character devices only) You can modify this attribute at run time; however, the default value is strongly recommended in a TruCluster environment. Sets the amount of time, in seconds, that modified (dirty) pages can age before they must be written to disk. Default value: 30 (seconds) Minimum value: 0 Maximum value: 60 You can modify this attribute at run time. Size (in number of hash-chain slots) of the special vnodes alias table for vnodes of special device files, such as character-I/O or block-I/O device files. Default value: 64 (slots) Minimum value: 0 Maximum value: 2,147,483,647 Increasing the size of the special vnodes alias table allows you to create more special device files. A value that enables (1) or disables (0) strict POSIX conformance to clearing dirty file status for O_SYNC operations. Default value: 0 (disabled) The default provides better performance. Strict conformance to POSIX O_SYNC status flushing comes at a cost. You can modify this attribute at run time. Enables (1) or disables (0) System V behavior when setting the group ID and file mode of created files and directories. By default, the group ID of the file is set to the group ID of its parent directory. See open(2) for more information. Default value: 0 (disabled) Obsolete attribute. Default value: 256 Amount of time, in seconds, that a vnode can remain on the free list before it is deallocated. Default value: 120 (seconds) for 32-MB or larger systems; 2 (seconds) for 24-MB systems Minimum value: 0 Maximum value: 2,147,483,647 You can increase the value of the vnode-age attribute to keep vnodes on the free list longer, which increases the possibility that the vnode will be successfully looked up. You can modify this attribute at run time. A value that enables (1) or disables (0) vnode deallocation. Default value: 1 (enabled) Enabling vnode deallocation decreases memory usage because it returns to the system the memory allocated to vnodes. SEE ALSO
Commands: dxkerneltuner(8), sysconfig(8), sysconfigdb(8) Others: sys_attrs(5) System Configuration and Tuning sys_attrs_vfs(5)
Man Page