test veritas logo



vx_ninode - determine the internal node table size


/usr/sbin/kctune -s vx_ninode=[size]


You must set this tunable to a constant value.
Minimum This tunable can be set to 0 (which means default), or to a value equal or greater than 16384. The value may vary as it is automatically adjusted.
Maximum None
Default The value is based on the available physical memory when vx_ninode is 0. The internal inode cache size is set according to the following table. In this table, the first column is the amount of physical memory in megabytes installed on the system at boot time, and the second column is the maximum number of inodes to be cached.

Physical Memory (MB) Maximum Inodes 8 400 16 750 32 1500 64 2500 128 5000 256 16000 512 32000 1024 64000 2048 128000 d192 256000 32768 512000 131072 1024000

VxFS interpolates the value of vx_ninode for the memory that falls between two points and extrapolates from the largest entry if the memory is larger than the largest entry in the table above.

    Recommended values

Systems with low memory size (up to 3 GB per CPU) may not require a large inode cache when file system performance is not critical. Veritas recommends setting a minimum value for vx_ninode based upon the memory configuration as specified in the following table. In this table the first column represents the available physical memory in gigabytes and the second column is the value of vx_ninode.

Physical Memory (GB) vx_ninode 1 16384 2 32768 3 65536 >3 131072


The VxFS file system caches the inodes in an inode table. The kernel tunable vx_ninode determines the number of inodes in the inode table to help VxFS in caching. vx_ninode is a dynamic tunable.

    Who is expected to change this tunable?

Any privileged user can change this value. The default state should be appropriate for most environments.

    Restrictions on changing

None. The vx_ninode tunable is dynamic; tuning takes effect immediately on the running system.

    When should the value of this tunable be raised?

This tunable value should be raised when applications, such as file servers and web servers, expect the file systems to perform better.

    What are the side effects of raising the value?

Increasing the value of this tunable may consume more memory.

    When should the value of this tunable be lowered?

Veritas recommends changing the value of this tunable according to the table above when the system is under memory pressure.

    What are the side effects of lowering the value?

The applications will see performance degradation.

    What other tunable values should be changed at the same time?



The following command changes the value of vx_ninode to 1000000:

# kctune -s vx_ninode=1000000


Incorrectly tunning a parameter may adversely affect system performance. See the Storage Foundation Administrator’s Guide for more information about tuning parameters.

VxFS kernel tunable parameters are release specific. This parameter may be removed or the default value and usage may change in future releases. See the Storage Foundation Release Notes for information about changes to parameters, if any.


kctune(1M), vx_maxlink(5), vxfs_bc_bufhwm(5), vxfs_ifree_timelag(5)

VxFS 8.0 vx_ninode(5)