Veritas Volume Manager (VxVM) relies on the following constantly-running daemons and kernel threads for its operation:
vxconfigd
The VxVM configuration daemon maintains disk and group configurations and communicates configuration changes to the kernel, and modifies configuration information stored on disks.
vxiod
VxVM I/O kernel threads provide extended I/O operations without blocking calling processes. By default, 16 I/O threads are started at boot time, and at least one I/O thread must continue to run at all times.
The vxiod utility enables the user to start, stop, and report on Veritas Volume Manager I/O threads.
When invoked with no arguments, vxiod prints the current number of I/O threads to the standard output.
# vxiod
16 volume I/O daemons running
The number of vxiod threads that is required for handling I/O requests depends on the system load and usage.
If volume recovery seems to proceed more slowly at times, it may be possible to improve its performance by increasing the number of vxiod threads up to a maximum of 128 I/O threads (depending on VxVM version).
How to improve specific operations by increasing the number of vxiod threads
The number of vxiod threads can influence the time taken to perform specific operations, like restore tasks. By default 16 volume I/O daemons may be running.
Overall performance may be improved by increasing the number of running vxiod threads to a higher value.
Example:
How to increase the number of vxiod threads to 128:
# vxiod set 128
# vxiod
128 volume I/O daemons running
Note: Whilst 128 daemons is the maximum, increasing the number of vxiod threads can potentially impact CPU usage, so requires testing.
To avoid unexpected operational impact & unwanted overhead caused by vxiod, Veritas set a maximum limit.
If a larger number is specified above the max limit, it will be truncated to the maximum value silently in the background.
# vxiod set 256
# vxiod
128 volume I/O daemons running
NOTE: The max number for vxiod is now 128. 64 was the previous maximum limit in earlier lower VxVM releases.
An incident has been opened to correct the documentation to reflect the new maximum limit in future documentation releases.
In a busy system, the more vxiod threads means higher the I/O performance, but also means more CPU overhead (consumption).