|
sys_attrs_vfs(5)
Contents
|
sys_attrs_vfs - system attributes for the vfs kernel subsystem
This reference page describes system attributes for the
Virtual File System (vfs) kernel subsystem. See
sys_attrs(5) for general guidelines about changing system
attributes.
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 percentage 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 allows (1) or prevents (0) the mkdir()
system call from creating a directory when the
final element of the specified path is a symbolic
link.
Default value: 0 (disabled)
The default setting of this attribute corrects a
mkdir() behavior change that was inadvertently
introduced in Tru64 UNIX Version 5.0. In the event
that any applications might have been developed to
depend on the incorrect behavior, setting follow_mkdir_symlinks
to 1 will allow the applications
to continue to run; however, any applications
dependent on the 1 setting should be modified to
remove this dependency as soon as possible. The
follow_mkdir_symlinks attribute will be removed in
a future release.
The maximum amount of time (in seconds) that an
AdvFS fileset's domain can remain frozen while the
fileset is being snapped or cloned. Freezing a multivolume
domain (keeping its metadata stable across
all volumes) is required to secure a coherent snapshot
of a fileset.
Default value: 60 (seconds)
Minimum value: 0
Maximum value: 300
You can modify this attribute at run time. You can
also override the value of this attribute by using
the -t option of the freezefs command. See
freezefs(8) for more information.
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. Environments that cannot tolerate
delays in accessing a device queue may want
to consider reducing the default value of the
io_throttle_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 NFS file system mounts. You can
change the value of the max_nfs_mounts attribute
if you want to restrict the number of file systems
that can be mounted through NFS and autofs. This
attribute does not affect performance.
Default value: 0 (number of mounts is unlimited)
Minimum value: 0
Maximum value: 2,147,483,647
You can modify this attribute at run time.
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.
Number of slots in the hash chain table for the
namei cache. The number of elements in each slot of
this table is fixed at 15, so the namei cache size
is 15 * name_cache_hash_size.
Default value: 2 * (148 + 10 * maxusers) * 11 / 10
/ 15
Minimum value: 0
Maximum value: 524,287
Increasing the value of name_cache_hash_size may
improve pathname lookup speeds for applications
whose working set includes more files than the
namei cache can accommodate. Adding slots to the
hash chain table consumes more memory but reduces
the number of I/O operations required for pathname
lookup. Reducing the value of name_cache_hash_size
frees memory by reducing the size of the namei
cache. See the System Configuration and Tuning
guide for information about gathering statistics
that will help you determine if the namei cache
size is appropriate for your system.
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 degrade 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
environment, 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, you can change
those 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.
Obsolete. This attribute is not used by any version
of the operating system software that is currently
supported.
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.
Commands: dxkerneltuner(8), sysconfig(8), sysconfigdb(8)
Others: sys_attrs(5)
System Configuration and Tuning
sys_attrs_vfs(5)
[ Back ] |