MINBUF parameter

From m204wiki
Revision as of 00:56, 28 February 2013 by Alex (talk | contribs) (Automatically generated page update)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Summary

Default value
Calculated using the formula: (NSERVS + NSUBTKS) * MAXOBUF + 15
Parameter type
System
Where set
On User 0's parameter line
Related products
All
Introduced
Model 204 V6.1 or earlier

Description

The minimum number of file page buffers that must be allocated for initialization to succeed. If this number cannot be allocated due to insufficient virtual storage, initialization is terminated.

Starting in Version 5.1, the MINBUF parameter is automatically set to its smallest allowable value. The minimum valid value for MINBUF is the number of servers (the value of the NSERVS parameter) plus the maximum number of pseudo subtasks (the value of NSUBTKS parameter), times the maximum number of open disk buffers per server (the value of the MAXOBUF parameter), plus fifteen, represented as follows:

(NSERVS + NSUBTKS) * MAXOBUF + 15

This is a change from previous releases where the minimum allowable value of MINBUF was (NSERVS*4)+14 for MP/204 and 18 otherwise.

Also starting in Version 5.1, if MINBUF is set to a value greater than MAXBUF, MAXBUF is automatically reset to the value of MINBUF. Prior to Version 5.1, an error message prevented the Online from coming up. You do not need to set the MAXBUF parameter in the User 0 stream, unless you want its value to differ from the value of MINBUF.

If NLRUQ is set greater than 1, then the value of MINBUF is rounded up to a multiple of NLRUQ.

Refer to the Model 204 System Manager's Guide for more information on page buffers.

For SQL processing

Sort operations require more buffers and other SQL DML (Model 204 SQL Data Manipulation) operations can increase disk buffer activity.

The recommended formula for MINBUF with SQL depends on the number of servers (NSERVS parameter) and the number of SQL threads (numSQL):

If NSERVS is less than the number of SQL threads:

MINBUF = 18 * NSERVS

If NSERVS is greater than or equal to the number of SQL threads:

MINBUF = 4 * (NSERVS - numSQL) + (18 * numSQL)

For example, if NSERVS = 4 and the number of SQL threads is 3, the recommended value of MINBUF is:

4 * (4 - 3) + (18 * 3) = 58