I'm trying to understand kern.maxvnodes. The Tuning Kernel Limits section of the Handbook says In some cases where disk I/O is a bottleneck and the system is running out of vnodes, this setting needs to be increased. The amount of inactive and free RAM will need to be taken into account. Indeed, on my system, which only has 512 MB RAM and uses a microSD card for its disk drive, this is exactly what happens.
That is, when the system is freshly rebooted, the vnode count is well below the default limit:
...and it creeps up throughout the day, as my fairly light load of mail, web, and database traffic is handled. Eventually it tops out at the kern.maxvnodes limit and stays there, within 1 or 2.
However I don't really know—and would like to understand—what is the penalty for maxing out the vnodes? And how high can I reasonably raise the limit? (I raised it in increments up to 48000 and am still maxing out.)
That is, when the system is freshly rebooted, the vnode count is well below the default limit:
Code:
# sysctl vfs.numvnodes kern.maxvnodes
vfs.numvnodes: 5051
kern.maxvnodes: 16493
...and it creeps up throughout the day, as my fairly light load of mail, web, and database traffic is handled. Eventually it tops out at the kern.maxvnodes limit and stays there, within 1 or 2.
However I don't really know—and would like to understand—what is the penalty for maxing out the vnodes? And how high can I reasonably raise the limit? (I raised it in increments up to 48000 and am still maxing out.)