Showing posts with label vxfsd. Show all posts
Showing posts with label vxfsd. Show all posts

Thursday, March 12, 2009

The purpose in life of vxfsd

Currently, the #1 Google keyword that has readers stumbling on this blog is "vxfsd" and they spend some time checking out the entry where I tell how to reduce vxfsd usage on 11iv2. It figures; vxfsd often shows up first in top(1) and there is not much documentation on what it does, let alone a man page. I think an explanation of what this this daemon is used for is in order.

Under Unix, an inode is a structure that contains file metadata (size, position on disk, owner, etc). You can find a .pdf with an example inode here. HP-UX puts these inode structures in a cache to accelerate I/O performance. That area is called the inode cache. It is a dynamic cache, meaning that it grows or shrinks its size RAM depending on the needs.

Where does vxfsd come in? It's a daemon whose job is to scan the inode cache, freeing inodes which have not been referenced since a while. The more inodes there are to scan and free, the more it spins and consumes CPU time.

When there is intensive read I/O on a server, such as during a backup, all files are read, so a great bunch of inodes get cached in the progress, with the cache size growing quickly. It is normal under these circumstances to see vxfsd spinning once that I/O pressure is over; it's doing its job, scanning the cache and freeing the inodes that haven't been recently needed. It should slow down once it's done.

As I described in my earlier post, the kernel can be tuned to use a static inode cache, and this will make vxfsd stop needing to scan the cache. It can actually be a good idea to do this on low-end systems (especially VMs) that have few or slow CPUs, as vxfsd can consume a fair percentage of CPU time on these types of systems. The trade off is that you could have lower I/O performance since the cache will no longer be able to grow to meet a sudden I/O demand. I normally don't care about vxfsd on systems that have multiple processors, and let it live with its default settings.

Take care