Common Misconfigured HP-UX Resources (April 2006)

the cache, even if all the metadata is brought into the cache. Use the vxfsstat command to see
how much metadata is in the cache and what the maximum size is for buffer pages.
Note that memory usage from the table accounts for both buffer pages and buffer headers. It does not
include other overhead for managing the metadata cache, such as the hash headers and free list
headers. The buffer headers are dynamically allocated and deleted as needed and the size of the
buffers may vary, so the actual number of buffer headers will vary as well. However, the total amount
of memory for the buffers and buffer headers cannot exceed the predefined maximum size.
Tuning the Metadata Cache
The vx_bc_bufhwm kernel tunable specifies the maximum amount of memory in kilobytes (or high
water mark) to allow for the buffer pages and buffer headers. You can set this value the with sam or
kmtune/kctune command, or in the /stand/system file. By default, vx_bc_bufhwm is set to 0,
which means to use the default maximum size based on the physical memory size (see the previous
table).
For VERITAS journaled file system (VxFS) 3.5, the system must be rebooted after changing
vx_bc_bufhwm for the new value to take effect. With VxFS 4.1 on 11i v2, you can immediately set
vx_bc_bufhwm without a reboot using the kctune command.
When using vxfsstat to view the current size of the metadata buffer cache, only the buffer pages
are counted. For example, consider the following vxfsstat output for a system with 4 GB of main
memory:
# vxfsstat -b / | grep current
74752 Kbyte current 414384 maximum
In the previous example, 74,752 Kb is used for the buffer pages. Up to 22 percent of additional
space will be used for the buffer headers (or 16,446 Kb for this example). Note, however, that the
memory used for buffer pages cannot exceed 414,384 maximum, and the total amount of memory
for both buffer pages and buffer headers cannot exceed the maximum size of the metadata cache, or
the vxfs_bc_bufhwm (in this example, 507,576 Kb).
Autotuning with OL* additions and deletions
Beginning with VxFS 4.1 on HP-UX 11i v3, when cells are added or deleted with cell-based systems,
the vx_bc_bufhwm is autotuned if vx_bc_bufhwm was originally set with the default value of 0.
However, the JFS Metadata Cache cannot take more than 25% of the kernel available memory. For
example, if you have a system with 2GB of base kernel memory and use OL* to add an additional 6
GB, then vx_bc_bufhwm would be autotuned from 256,000 Kb to 512,000 Kb. If another additional
4GB of memory is added, vx_bc_bufhwm will remain at 512,000 Kb since the JFS Metadata Buffer
Cache cannot exceed 25% of kernel available memory (2GB in this case).
If you manually tune vx_bc_bufhwm to be a specific size, vx_bc_bufhwm will not be adjusted if
memory additions or deletions are done, and you may need to adjust vx_bc_bufhwm if an different
sized JFS Metadata Buffer Cache is needed after the OL* addition or deletion.
Recommended Guidelines for tuning the JFS Metadata Buffer Cache
If you upgrade from JFS 3.3 to JFS 3.5 on HP-UX 11i v1, then the metadata cache can take up to
12.2 percent of memory, depending on memory size and the amount of metadata accessed, above
what was taken by JFS 3.3 since the metadata on JFS 3.3 was included in the HP-UX buffer cache.
The new metadata cache can potentially increase the performance of metadata-intensive applications
(for example, applications that perform a high number of file creations/deletions or those that use
large directories).
29