unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (OSF1-V5.1-alpha)
Page:
Section:
Apropos / Subsearch:
optional field



sys_attrs_vfs(5)					     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. 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




  bufcache
      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 perfor-
      mance 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.



  buffer_hash_size
      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.



  bufpages
      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.



  fifo_do_adaptive
      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)



  * io_throttle_maxmzthruput
      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 dis-
      abled, 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.



  * io_throttle_shift
      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 attri-
      bute and the calculated I/O completion rate. The throttle	value is pro-
      portional	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.



  * io_throttle_static
      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.



  * max_free_file_structures
      Obsolete attribute. The operating	system no longer uses this value.



  * max_nfs_mounts
      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.



  * max_ufs_mounts
      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.



  * max_vnodes
      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.



  * min_free_vnodes
      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.



  name_cache_hash_size
      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.



  namei_cache_valid_time
      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.



  * nlock_record
      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.



  noadd_exec_access
      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 attri-
      bute must	have the same setting on all cluster members. See the Secu-
      rity manual for more information about enhanced security features.

      Default value: 0 (disabled)



  nvnode
      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 attri-
      butes, you can change those attributes directly if there is a need to
      override their defaults.



  pad_dirent
      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)



  path_num_max
      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



  * pipe_databuf_size
      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.



  * pipe_max_bytes_all_pipes
      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.



  * pipe_maxbuf_size
      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.



  * revoke_tty_only
      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) dev-
      ice, 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.



  * smoothsync_age
      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.



  special_vnode_alias_tbl_size
      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.



  * strict_posix_osync
      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.



  sys_v_mode
      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)



  ucred_max
      Obsolete attribute.

      Default value: 256



  * vnode_age
      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.



  vnode_deallocation_enable
      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