MINBUF parameter: Difference between revisions
m (Automatically generated page update) |
m (misc formatting) |
||
(8 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
{{Template:MINBUF parameter subtitle}} | |||
==Summary== | ==Summary== | ||
<dl> | <dl> | ||
<dt>Default value | <dt>Default value | ||
<dd>Calculated using the formula: (NSERVS + NSUBTKS) * MAXOBUF + 15 | <dd>Calculated using the formula: (<var>[[NSERVS_parameter|NSERVS]]</var> + <var>[[NSUBTKS_parameter|NSUBTKS]]</var>) * <var>[[MAXOBUF_parameter|MAXOBUF]]</var> + 15 | ||
<dt>Parameter type | <dt>Parameter type | ||
<dd>System | <dd>System | ||
Line 10: | Line 11: | ||
<dd>All | <dd>All | ||
<dt>Introduced | <dt>Introduced | ||
<dd><var class="product">Model 204 | <dd><var class="product">Model 204 V9.0</var> or earlier | ||
</dl> | </dl> | ||
==Description== | ==Description== | ||
<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> | <p> | ||
<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 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> | |||
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 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> | ||
<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> | |||
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> | |||
====For SQL processing==== | ====For SQL processing==== | ||
<p>Sort operations require more buffers and other SQL DML (<var class="product">Model 204</var> SQL Data Manipulation) operations can increase disk buffer activity.</p> | <p> | ||
<p>The recommended formula for MINBUF with SQL depends on the number of servers (NSERVS parameter) and the number of SQL threads (numSQL):</p> | Sort operations require more buffers and other SQL DML (<var class="product">Model 204</var> SQL Data Manipulation) operations can increase disk buffer activity.</p> | ||
<p>If NSERVS is less than the number of SQL threads: </p> | <p> | ||
The recommended formula for <var>MINBUF</var> with SQL depends on the number of servers (<var>NSERVS</var> parameter) and the number of SQL threads (numSQL):</p> | |||
<p> | |||
If <var>NSERVS</var> is less than the number of SQL threads: </p> | |||
<p class="code">MINBUF = 18 * NSERVS | <p class="code">MINBUF = 18 * NSERVS | ||
</p> | </p> | ||
<p>If NSERVS is greater than or equal to the number of SQL threads: </p> | <p> | ||
If <var>NSERVS</var> is greater than or equal to the number of SQL threads: </p> | |||
<p class="code">MINBUF = 4 * (NSERVS - <i>numSQL</i>) + (18 * <i>numSQL</i>) | <p class="code">MINBUF = 4 * (NSERVS - <i>numSQL</i>) + (18 * <i>numSQL</i>) | ||
</p> | </p> | ||
<p>For example, if NSERVS | <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> | ||
[[Category:System | |||
==See also== | |||
<p> | |||
For more information about page buffers: </p> | |||
<ul> | |||
<li>[[Defining the runtime environment (CCAIN)#Disk buffers and Model 204 storage|Disk buffers and Model 204 storage]] </li> | |||
<li>[[Defining the user environment (CCAIN)]]</li> | |||
</ul> | |||
[[Category:System parameters]] | |||
[[Category:Parameters]] | [[Category:Parameters]] |
Latest revision as of 18:39, 29 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.
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
See also
For more information about page buffers: