Tunable Kernel Parameters
Table Of Contents
- Tunable Kernel Parameters
- Legal Notices
- Revision History
- Conventions
- 1 Overview
- 2 Accounting Subsystem
- 3 Asynchronous I/O Subsystem
- 4 File System Subsystem
- 5 Interprocess Communication (IPC) Subsystem
- 6 Kernel Crash Dump Subsystem
- 7 Memory Paging Subsystem
- 8 Process Management Subsystem
- 9 Spinlock Pool
- 10 Streams Subsystem
- 11 Miscellaneous Parameters
- Miscellaneous Parameter Summary
- CD-ROM Parameter Summary
- System Clock Parameter Summary
- Disk I/O Parameter Summary
- Intrusion Detection System/9000
- Fast Symbolic Link Traversal Parameter Summary
- Reserved System Memory Parameter Summary
- Network Parameter Summary
- Queued Signals Parameter Summary
- Real-Time Priority Parameter Summary
- Terminal Parameter Summary
- Maximum Users Parameter Summary
- Web Server Parameter Summary
- Miscellaneous Parameter Summary
- A Table of Tunable Kernel Parameters

File System Subsystem
File System Buffer Parameters
Chapter 4
27
File System Buffer Parameters
The system allocates a portion of system memory for use in block-mode file operations
(such as exec() and mount() system calls and inode reading). Buffer space is reserved
in increments of 4096-byte pages, but buffers can be much larger than 4096 bytes,
requiring as many as 16 or more pages per buffer, depending on hardware device and
configuration characteristics.
Two methods for allocating buffer space are supported: static and dynamic. The
obsolescent static method allocates buffer space and buffer header structures at system
boot time. The preferred dynamic buffer cache method allocates buffer space and
supporting data structures as they are needed, using predefined minimum and
maximum values to establish overall buffer cache space allocation limits.
Dynamic Buffer Cache
Most system administrators prefer to specify what percentage or range of percentages of
available system memory can be allocated for buffer use, letting the system allocate
memory for buffers as needed within the specified limits. Two kernel parameters,
dbc_min_pct and dbc_max_pct, control the lower and upper limit, respectively, as a
percentage of system memory. How many pages of memory are allocated for buffer cache
use at any given time is determined by system needs, but the two parameters ensure
that allocated memory never drops below dbc_min_pct and cannot exceed dbc_max_pct
percent of total system memory. Administrators of multiple systems usually prefer this
method because it provides an easy way to choose buffer space limits that are directly
related to how much memory is actually installed in each machine, allowing common or
similar kernel configurations throughout the network.
NOTE To enable dynamic buffer caching, the kernel parameters nbuf and bufpages must both
be set to zero.
Static Buffer Allocation
For administrators who choose not to use dynamic buffer caching, the two kernel
parameters, nbuf and bufpages, control static buffer allocation. If bufpages is nonzero,
it specifies the fixed number of 4096-byte pages that are to be allocated for the file
system buffer cache. nbuf is provided for backward compatibility purposes. If set to a
nonzero value, nbuf specifies the maximum number of buffer headers that can exist in
the buffer header array. However, the preferred approach is to set nbuf to zero, in which
case, one header is created for each two bufpages allocated.
Recommended Procedure
Set bufpages and nbuf to zero, and set dbc_min_pct and dbc_max_pct to the desired
upper and lower limits as a percentage of total system memory. This activates dynamic
buffer cache allocation.