Consultor Eletrônico



Kbase 20313: HP dbc_min_pct and dbc_max_pct Kernel Parameters
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   10/16/2008
Status: Unverified

GOAL:

How HP kernel parameters dbc_min_pct and dbc_max_pct effect performance.

FACT(s) (Environment):

HP-UX 10.20
HP-UX 11 32-bit
HP-UX 11 64-bit

FIX:

The more memory that is allocated to the filesystem buffer, the less that can be allocated to Progress -B buffer. Generally, it is better to have a larger Progress buffer for database performance reasons.

The dbc_max_pct parameter does not hold back RAM from -B. If Progress requests RAM, it first acquires it from free RAM and then shrinks the filesystem buffer cache in order to satisfy the requirement. This might be a problem if the filesystem buffer cache is busy accommodating file buffers, print spooling, etc.

Setting the min and max to the same value has the benefit of less CPU usage in determining how much buffer cache is needed.

The following excerpt from an HP document further describes these kernel parameters:


During file-system I/O operations, data is stored in a buffer cache, the size of which can be fixed or dynamically allocated. When the parameters bufpages and nbuf are both set to their default value of 0, the size of the buffer cache grows or shrinks dynamically, depending on competing requests for system memory.

The value of dbc_min_pct specifies the minimum percentage of physical memory that is reserved for use by the dynamic buffer cache.

It is possible to set both dbc_min_pct and dbc_max_pct to the same value, 12 for example, and create a kernel that uses exactly that percentage of physical memory for the buffer cache, regardless of the size of physical memory.

Selecting an Appropriate Value:

If dbc_min_pct is set to too low a value, very high demand on the buffer cache can effectively hang the system. The is also true when using fixed buffer cache. To determine a reasonable (and conservative) value for the minimum cache size in Mbytes, use the following formula:

(number of system processes) * (largest file-system block size) / 1024

To determine the value for dbc_min_pct, divide the result by the number of MB of physical memory installed in the computer and multiply that value by 100 to obtain the correct value in percent.

Only those processes that actively use disk I/O should be included in the calculation.