vxtune (1M)

NAME

vxtune - adjust Veritas Volume Replicator and Veritas Volume Manager tunables

SYNOPSIS

vxtune [-r]

vxtune [-r] tunable

vxtune [-r] tunable value

DESCRIPTION

The vxtune utility manages the various memory tunables that are used by Veritas Volume Replicator (VVR). It can also be used to change the value of the volpagemod_max_memsz and the vol_max_siobuf_sz tunables used by Veritas Volume Manager (VxVM).

You can use vxtune to display, set or change the memory tunables that are used by VVR. To maximize VVR performance, you can use this utility to experiment with different values before deciding on the optimal tunable values.

The main advantage of using vxtune to change tunable values is that the new values are available immediately without needing to reboot the system.

When invoked with no arguments, vxtune displays a list of the tunables whose values may be displayed or set.

When invoked with the name of a supported tunable as the argument, vxtune displays the value of that tunable.

When invoked with the name of a supported tunable and a value as arguments, vxtune attempts to set the tunable to that value.

The specified value can take the following prefixes as base specifiers:

0 Value is in octal.
0x Value is in hexadecimal.

By default, decimal is assumed.

The specified value can take the following suffixes as unit multipliers:

g or G The specified value is in gigabytes.
k or K The specified value is in kilobytes.
m or M The specified value is in megabytes.

By default, the units are assumed to be bytes.

The values of the following memory tunables may be displayed or set:
vol_max_nmpool_sz
  Maximum memory that will be used by VVR on a secondary to hold the write requests coming from the primary. This memory is system-wide and restricts all secondary RVGs on the system. It may also be useful to increase this tunable if multiple Secondary RVGs are present on the system.
vol_max_rdback_sz
  Maximum memory that will be used by VVR, when write requests are being read back from the SRL. You may need to increase this tunable if you have multiple asynchronous RLINKS in one or more RVGs.
vol_max_siobuf_sz
  Maximum memory, measured in kilobytes, that is allocated to SioPool and BufPool for doing internal logical I/O operations and disk buffer allocations in VxVM. The combined memory taken by these pools is 1% or 225MB of real memory present in the system, whichever is less. Use the vxmemstat command to display the actual memory usage (In Use) and the current maximum (Max Use) for SioPool and BufPool. If the In Use value is equal to the Max Use value for the SioPool and BufPool, you can increase the value of the vol_max_siobuf_sz tunable.
vol_max_wrspool_sz
  Used in the clustered version of VVR.
vol_min_lowmem_sz
  Minimum Threshold of available VVR memory needed to keep the write requests in memory on the primary RVG to send it to secondary. If available VVR memory is less than this threshold, write requests are freed early so that readbacks can be performed later. This tunable is used by asynchronous RLINKs.
vol_rvio_maxpool_sz
  Maximum memory requested from the system by VVR for internal purposes. This tunable has a direct impact on the performance of VVR as it prevents one I/O operation from using all the memory in the system. The value of vol_rvio_maxpool_sz must be at least 10 times greater than the value of the maximum I/O size.
vol_stats_enable
  By default, VxVM collects I/O statistics on all objects in the configuration. These statistics can help you to tune different parameters that depend upon the environment and workload. After the tuning is completed, we recommend that you disable I/O statistics collection for improved I/O throughput. Specify 0 to disable I/O statistics collection. Specify 1 to enable I/O statistics collection on all VxVM objects in the configuration. The default is 1.
volpagemod_max_memsz
  Maximum memory, measured in kilobytes, that is allocated for caching FastResync and cache object metadata by the instant snapshots feature of VxVM. This tunable has a default value of 6144KB (6MB) of physical memory.
The memory allocated for this cache is exclusively dedicated to it. It is not available for other processes or applications.
Setting the value of volpagemod_max_memsz below 512KB fails if cache objects or volumes that have been prepared for instant snapshot operations are present on the system.
If you do not use the FastResync or DRL features that are implemented using a version 20 DCO volume, the value of volpagemod_max_memsz can be set to 0. However, if you subsequently decide to enable these features, you can use vxtune to change the value to a more appropriate one.

OPTIONS

-r (Raw) By default, tunable values are displayed in kilobytes. This option causes values to be displayed in bytes.

EXAMPLES

Display the tunable parameters that vxtune supports:

vxtune

Display the value of vol_min_lowmem_sz on a host:


vxtune vol_min_lowmem_sz

Modify the value of vol_min_lowmem_sz to 2 megabytes on a host:


vxtune vol_min_lowmem_sz 2M

EXIT CODES

The vxtune utility exits with a non-zero status if the attempted operation fails.

A non-zero exit code is not a complete indicator of the problems encountered but denotes the first condition that prevented further execution of the utility.

FILES

/etc/vx/vxtunables
  Tunables file generated when vxtune is used to adjust any tunable. This file is maintained for every change that is made by vxtune.
/etc/vx/vxtunables.template
  Template file used to generate the file that contains the current value of the tunables.

NOTES

Do not edit values of tunables in the vxtunables file. Such changes are ignored.

Do not delete the files /etc/vx/vxtunables or /etc/vx/vxtunables.template.

The vxtune command only affects the tunable values on the host on which it is run. If required, you must run the command separately on each host for which you want to change the tunable values (for example, for the log-owner node and any of its failover nodes in a cluster).

Values that have been specified using vxtune are not persistent across reboots. After you have determined the optimal value of a tunable using vxtune, you must use the platform-specific interface to set persistent values for the tunables.

SEE ALSO

vrport(1M), vxmemstat(1M), vxsnap(1M)

Veritas Volume Replicator Planning and Tuning Guide
Veritas Volume Manager Administrator’s Guide


VxVM 4.0 vxtune (1M)