MINBUF parameter: Difference between revisions

From m204wiki
Jump to navigation Jump to search
m (add 7.7 change)
Line 16: Line 16:
==Description==
==Description==
<p>
<p>
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.</p>
The minimum number of file page buffers that must be allocated below the bar (BTB) for initialization to succeed. If this number cannot be allocated due to insufficient virtual storage, initialization is terminated.</p>
<blockquote class="note"><b>Note:</b> As of version 7.7 of Model&nbsp;204, the value of <var>MINBUF</var> depends entirely on the setting of <var>[[NUMBUFG parameter|NUMBUFG]]</var>, which activates buffer storage above the bar.
<ul>
<li>If <var>NUMBUFG</var> is greater than 0, <i>all</i> buffer pool buffers are forced above the bar — no buffers are below the bar. The <var>MINBUF</var> and <var>[[NUMBUF parameter|NUMBUF]]</var> parameters are forced to 0, and the other parameters that affect BTB storage (<var>MAXBUF</var>, <var>SPCORE</var>, <var>LDKBMWND</var>, and <var>NLRUQ</var>) are ignored. </li>
 
<li>If <var>NUMBUFG</var> is set to 0, all buffers are below the bar, and the settings of the BTB-related parameters are respected and calculated as in pre-7.7 versions. </li>
</ul>
</blockquote>
 
===If BTB buffers are used===
<p>
<p>
Starting in Version 5.1, the <var>MINBUF</var> parameter is automatically set to its smallest allowable value. The minimum valid value for <var>MINBUF</var> is the number of servers (the value of the <var>NSERVS</var> parameter) plus the maximum number of pseudo subtasks (the value of <var>NSUBTKS</var> parameter), times the maximum number of open disk buffers per server (the value of the <var>MAXOBUF</var> parameter), plus fifteen, represented as follows: </p>
When BTB buffers are being used (that is, <var>NUMBUFG</var> is 0 under version 7.7 or higher, or <var>NUMBUFG</var> is any value under Model&nbsp;204 prior to 7.7), the <var>MINBUF</var> parameter is automatically set to its smallest allowable value. The minimum valid value for <var>MINBUF</var> is the number of servers (the value of the <var>NSERVS</var> parameter) plus the maximum number of pseudo subtasks (the value of <var>NSUBTKS</var> parameter), times the maximum number of open disk buffers per server (the value of the <var>MAXOBUF</var> parameter), plus fifteen, represented as follows: </p>
<p class="code">(NSERVS + NSUBTKS) * MAXOBUF + 15
<p class="code">(NSERVS + NSUBTKS) * MAXOBUF + 15
</p>
</p>
<p>
<p>
This is a change from previous releases where the minimum allowable value of <var>MINBUF</var> was <code>(NSERVS*4)+14</code> for MP/204, and 18 otherwise. </p>
If <var>[[NLRUQ parameter|NLRUQ]]</var> is set greater than 1, then the value of <var>MINBUF</var> is rounded up to a multiple of <var>NLRUQ</var>. </p>
<p>
Also starting in Version 5.1, if <var>MINBUF</var> is set to a value greater than <var>[[MAXBUF_parameter|MAXBUF]]</var>, <var>MAXBUF</var> is automatically reset to the value of <var>MINBUF</var>. Prior to Version 5.1, an error message prevented the Online from coming up. You do not need to set the <var>MAXBUF</var> parameter in the User 0 stream, unless you want its value to differ from the value of <var>MINBUF</var>.</p>
<p>
<p>
If <var>[[NLRUQ_parameter|NLRUQ]]</var> is set greater than 1, then the value of <var>MINBUF</var> is rounded up to a multiple of <var>NLRUQ</var>. </p>
If <var>MINBUF</var> is set to a value greater than <var>[[MAXBUF parameter|MAXBUF]]</var>, <var>MAXBUF</var> is automatically reset to the value of <var>MINBUF</var>. You do not need to set the <var>MAXBUF</var> parameter in the User 0 stream, unless you want its value to differ from the value of <var>MINBUF</var>.</p>
<p>
<p>
Refer to [[Defining the runtime environment (CCAIN)]] and [[Defining the user environment (CCAIN)]] for more information on page buffers.</p>
Refer to [[Defining the runtime environment (CCAIN)#Disk buffers and Model 204 storage|Disk buffers and Model 204 storage]] and [[Defining the user environment (CCAIN)]] for more information on page buffers.</p>


====For SQL processing====
====For SQL processing====
Line 44: Line 51:
</p>
</p>
<p>
<p>
For example, if NSERVS = 4 and the number of SQL threads is 3, the recommended value of MINBUF is: </p>
For example, if <var>NSERVS</var> is 4 and the number of SQL threads is 3, the recommended value of <var>MINBUF</var> is: </p>
<p class="code">4 * (4 - 3) + (18 * 3) = 58
<p class="code">4 * (4 - 3) + (18 * 3) = 58
</p>
</p>

Revision as of 21:45, 23 August 2016

Minimum number of buffers

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 V9.0 or earlier

Description

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

Note: As of version 7.7 of Model 204, the value of MINBUF depends entirely on the setting of NUMBUFG, which activates buffer storage above the bar.

  • If NUMBUFG is greater than 0, all buffer pool buffers are forced above the bar — no buffers are below the bar. The MINBUF and NUMBUF parameters are forced to 0, and the other parameters that affect BTB storage (MAXBUF, SPCORE, LDKBMWND, and NLRUQ) are ignored.
  • If NUMBUFG is set to 0, all buffers are below the bar, and the settings of the BTB-related parameters are respected and calculated as in pre-7.7 versions.

If BTB buffers are used

When BTB buffers are being used (that is, NUMBUFG is 0 under version 7.7 or higher, or NUMBUFG is any value under Model 204 prior to 7.7), 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

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

If MINBUF is set to a value greater than MAXBUF, MAXBUF is automatically reset to the value of MINBUF. 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.

Refer to Disk buffers and Model 204 storage and Defining the user environment (CCAIN) 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 is 4 and the number of SQL threads is 3, the recommended value of MINBUF is:

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