Error: "vxfs: vx_iget - inode table overflow" reported for a Server using Veritas FileSystem (vxfs)

Article: 100002954
Last Published: 2022-02-20
Ratings: 0 0
Product(s): InfoScale & Storage Foundation

Problem

For a Server using Veritas FileSystem (vxfs), there are instances when it may report overflow errors for the inode table.

 

Error Message

<Server_name> vxfs: [ID 702911 kern.warning] WARNING: msgcnt 3346 mesg 014: V-2-14: vx_iget - inode table overflow
 

 

Cause

VxFS caches vx_inode structures in kernel memory. Each vx_inode is approximately 2k in size. The upper limit is set by the tunable 32-bit vxfs_ninode value and in this case, that value was set to 2,024,500.

In simple terms, VxFS maintains 2 different lists on the vx_inode cache – vx_inodes in use and vx_inodes that are placed on free lists. VxFS will not immediately free kernel memory after a file is closed, it will place the vx_inode on the free list instead and later will free this space back to the kernel based on a delay. This is an optimization to reduce the expense of constantly creating and freeing struct vx_inodes.
 
 

Solution

To narrow down the problem, perform below steps/commands

1) savecore –L (it requires dedicated dump device – see ‘man savecore’)
 
2) vxfsstat –i   (only on one system)
 
3) Run DTrace to capture what process is doing the opens and will require further digging once its run.
               
For example: dtrace –n ‘fbt:vxfs:vx_iget:entry {stack()}’
 
4) Analyze the DTrace output to capture the problem process
 
 

 

Was this content helpful?