unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (HP-UX-11.11)
Page:
Section:
Apropos / Subsearch:
optional field



 vxtunefs(1M)							vxtunefs(1M)




 NAME
      vxtunefs - tune a VxFS File System

 SYNOPSIS
      /sbin/vxtunefs [-ps] [-f tunefstab] [-o parameter=value]
	   [{mount_point|block_special}]...

 DESCRIPTION
      vxtunefs sets or prints tuneable I/O parameters of mounted file
      systems.	vxtunefs can set parameters describing the I/O properties of
      the underlying device, parameters to indicate when to treat an I/O as
      direct I/O, or parameters to control the extent allocation policy for
      the specified file system.

      With no options specified, vxtunefs prints the existing VxFS
      parameters for the specified file systems.

      vxtunefs works on a list of mount points specified on the command
      line, or all the mounted file systems listed in the tunefstab file.
      The default tunefstab file is /etc/vx/tunefstab.	You can change the
      default using the -f option.

      vxtunefs can be run at any time on a mounted file system, and all
      parameter changes take immediate effect.	Parameters specified on the
      command line override parameters listed in the tunefstab file.

      If /etc/vx/tunefstab exists, the VxFS-specific mount command invokes
      vxtunefs to set device parameters from /etc/vx/tunefstab.

    Options
      -f filename
		Use filename instead of /etc/vx/tunefstab as the file
		containing tuning parameters.

      -o parameter=value
		Specify parameters for the file systems listed on the
		command line.  The parameters are listed below.

      -p	Print the tuning parameters for all the file systems
		specified on the command line.

      -s	Set the new tuning parameters for the VxFS file systems
		specified on the command line or in the tunefstab file.

    VxFS Tuning Parameters and Guidelines
      The values for all the following parameters except read_nstream and
      write_nstream can be specified in bytes, kilobytes, megabytes or
      sectors (512 bytes) by appending k, K, m, M, s, or S.  There is no
      need for a suffix for the value in bytes.





 Hewlett-Packard Company	    - 1 -   HP-UX Release 11i: November 2000






 vxtunefs(1M)							vxtunefs(1M)




      For an application to do efficient direct I/O or discovered direct
      I/O, it should issue read requests that are equal to the product of
      read_nstream and read_pref_io.  In general, any multiple or factor of
      read_nstream multiplied by read_pref_io is a good size for
      performance.  For writing, the same general rule applies to the
      write_pref_io and write_nstream parameters.  When tuning a file
      system, the best thing to do is use the tuning parameters under a real
      workload.

      If an application is doing sequential I/O to large files, it should
      issue requests larger than the discovered_direct_iosz.  This performs
      the I/O requests as discovered direct I/O requests which are
      unbuffered like direct I/O, but which do not require synchronous inode
      updates when extending the file.	If the file is too large to fit in
      the cache, using unbuffered I/O avoids losing useful data out of the
      cache, and lowers CPU overhead.

      The VxFS tuneable parameters are:

      default_indir_size
	   On VxFS, files can have up to 10 variable sized extents stored in
	   the inode.  After these extents are used, the file must use
	   indirect extents which are a fixed size that is set when the file
	   first uses indirect extents.	 These indirect extents are 8K by
	   default.  The file system does not use larger indirect extents
	   because it must fail a write and return ENOSPC if there are no
	   extents available that are the indirect extent size.	 For file
	   systems with many large files, the 8K indirect extent size is too
	   small.  The files that get into indirect extents use a lot of
	   smaller extents instead of a few larger ones.  By using this
	   parameter, the default indirect extent size can be increased so
	   that large files in indirects use fewer larger extents.

	   Be careful using this tuneable. If it is too large, then writes
	   fail when they are unable to allocate extents of the indirect
	   extent size to a file.  In general, the fewer and the larger the
	   files on a file system, the larger default_indir_size can be.
	   The value of this parameter is generally a multiple of the
	   read_pref_io parameter.

	   This tuneable does not apply to disk layout Version 4.

      discovered_direct_iosz
	   Any file I/O requests larger than the discovered_direct_iosz are
	   handled as discovered direct I/O.  A discovered direct I/O is
	   unbuffered like direct I/O, but it does not require a synchronous
	   commit of the inode when the file is extended or blocks are
	   allocated.  For larger I/O requests, the CPU time for copying the
	   data into the buffer cache and the cost of using memory to buffer
	   the I/O becomes more expensive than the cost of doing the disk
	   I/O.	 For these I/O requests, using discovered direct I/O is more



 Hewlett-Packard Company	    - 2 -   HP-UX Release 11i: November 2000






 vxtunefs(1M)							vxtunefs(1M)




	   efficient than regular I/O.	The default value of this parameter
	   is 256K.

      initial_extent_size
	   Changes the default size of the initial extent.

	   VxFS determines, based on the first write to a new file, the size
	   of the first extent to allocate to the file. Typically the first
	   extent is the smallest power of 2 that is larger than the size of
	   the first write. If that power of 2 is less than 8K, the first
	   extent allocated is 8K. After the initial extent, the file system
	   increases the size of subsequent extents (see
	   max_seqio_extent_size) with each allocation.

	   Because most applications write to files using a buffer size of
	   8K or less, the increasing extents start doubling from a small
	   initial extent.  initial_extent_size changes the default initial
	   extent size to a larger value, so the doubling policy starts from
	   a much larger initial size, and the file system won't allocate a
	   set of small extents at the start of file.

	   Use this parameter only on file systems that have a very large
	   average file size. On such file systems, there are fewer extents
	   per file and less fragmentation.

	   initial_extent_size is measured in file system blocks.

      max_buf_data_size
	   Determines the maximum buffer size allocated for file data.	The
	   two accepted values are 8K bytes and 64K bytes.  The larger value
	   can be beneficial for workloads where large reads/writes are
	   performed sequentially.  The smaller value is preferable on
	   workloads where the I/O is random or is done in small chunks.
	   The default value is 8K bytes.

      max_direct_iosz
	   Maximum size of a direct I/O request issued by the file system.
	   If there is a larger I/O request, it is broken up into
	   max_direct_iosz chunks.  This parameter defines how much memory
	   an I/O request can lock at once; do not set it to more than 20%
	   of memory.

      max_diskq
	   Limits the maximum disk queue generated by a single file.  When
	   the file system is flushing data for a file and the number of
	   pages being flushed exceeds max_diskq, processes block until the
	   amount of data being flushed decreases.  Although this does not
	   limit the actual disk queue, it prevents synchronizing processes
	   from making the system unresponsive. The default value is 1
	   megabyte.




 Hewlett-Packard Company	    - 3 -   HP-UX Release 11i: November 2000






 vxtunefs(1M)							vxtunefs(1M)




      max_seqio_extent_size
	   Increases or decreases the maximum size of an extent.  When the
	   file system is following its default allocation policy for
	   sequential writes to a file, it allocates an initial extent that
	   is large enough for the first write to the file. When additional
	   extents are allocated, they are progressively larger (the
	   algorithm tries to double the size of the file with each new
	   extent), so each extent can hold several writes worth of data.
	   This reduces the total number of extents in anticipation of
	   continued sequential writes. When there are no more writes to the
	   file, unused space is freed for other files to use.

	   In general, this allocation stops increasing the size of extents
	   at 2048 blocks, which prevents one file from holding too much
	   unused space.

	   max_seqio_extent_size is measured in file system blocks.

      read_nstream
	   The number of parallel read requests of size read_pref_io to have
	   outstanding at one time.  The file system uses the product of
	   read_nstream and read_pref_io to determine its read ahead size.
	   The default value for read_nstream is 1.

      read_pref_io
	   The preferred read request size.  The file system uses this in
	   conjunction with the read_nstream value to determine how much
	   data to read ahead.	The default value is 64K.

      write_nstream
	   The number of parallel write requests of size write_pref_io to
	   have outstanding at one time.  The file system uses the product
	   of write_nstream and write_pref_io to determine when to do flush
	   behind on writes.  The default value for write_nstream is 1.

      write_pref_io
	   The preferred write request size.  The file system uses this in
	   conjunction with the write_nstream value to determine how to do
	   flush behind on writes.  The default value is 64K.

 FILES
      /etc/vx/tunefstab	       VxFS file system tuning parameters table.

 SEE ALSO
      mount_vxfs(1M), mkfs_vxfs(1M), tunefstab(4).









 Hewlett-Packard Company	    - 4 -   HP-UX Release 11i: November 2000