NLRUQ parameter: Difference between revisions
m (misc formatting) |
m (minor formatting) |
||
Line 3: | Line 3: | ||
<dl> | <dl> | ||
<dt>Default value | <dt>Default value | ||
<dd>1 | <dd>1 (also the minimum) | ||
<dt>Parameter type | <dt>Parameter type | ||
<dd>System | <dd>System | ||
Line 16: | Line 16: | ||
==Description== | ==Description== | ||
<p> | <p> | ||
The <var>NLRUQ</var> parameter reduces contention on the [[Performance monitoring and tuning#Multiprocessing (MP/204)|MP]] lock that protects the reuse queues. </p> | The <var>NLRUQ</var> parameter reduces contention on the [[Performance monitoring and tuning#Multiprocessing (MP/204)|MP]] lock that protects the reuse queues. This MP lock is a primary source of MP overhead. </p> | ||
<p> | <p> | ||
Setting <var>NLRUQ</var> greater than 1 has no benefit in a non-MP run. In fact, in all cases, a setting greater than 1 might result in a slight increase in disk I/O, owing to a loss in precision in the least-recently-used algorithm for managing the disk buffer pool. With <var>NLRUQ</var> greater than 1, it would be possible for a page to be stolen from the buffer pool before one that was less recently used.</p> | |||
<p> | <p> | ||
<code>NLRUQ=1</code> preserves the single reuse queue model used in releases of <var class="product">Model 204</var> before V6R1.0. </p> | <code>NLRUQ=1</code> preserves the single reuse queue model used in releases of <var class="product">Model 204</var> before V6R1.0. </p> | ||
<p> | <p> | ||
<var>NLRUQ</var> is used as a multiplier to determine the minimum number of disk buffers used in an Online: </p> | |||
<p class="code"><var>[[MINBUF parameter|MINBUF]]</var> >= NLRUQ * ((<var>[[NSERVS parameter|NSERVS]]</var> + <var>[[NSUBTKS parameter|NSUBTKS]]</var>) * <var>[[MAXOBUF parameter|MAXOBUF]]</var> + 15) | <p class="code"><var>[[MINBUF parameter|MINBUF]]</var> >= NLRUQ * ((<var>[[NSERVS parameter|NSERVS]]</var> + <var>[[NSUBTKS parameter|NSUBTKS]]</var>) * <var>[[MAXOBUF parameter|MAXOBUF]]</var> + 15) | ||
</p> | </p> | ||
Line 30: | Line 30: | ||
If <var>NLRUQ</var> is set greater than 1, the values of <var>[[LDKBMWND parameter|LDKBMWND]]</var>, <var>[[MAXBUF parameter|MAXBUF]]</var>, and <var>MINBUF</var> are all rounded up to a multiple of <var>NLRUQ</var>. The maximum setting for <var>NLRUQ</var> is 255. </p> | If <var>NLRUQ</var> is set greater than 1, the values of <var>[[LDKBMWND parameter|LDKBMWND]]</var>, <var>[[MAXBUF parameter|MAXBUF]]</var>, and <var>MINBUF</var> are all rounded up to a multiple of <var>NLRUQ</var>. The maximum setting for <var>NLRUQ</var> is 255. </p> | ||
<p> | <p> | ||
If | If a <var>[[MONITOR MPLOCK command|MONITOR MPLOCK]]</var> command output reveals a high conflict count for LRU queue locks, increase <var>NLRUQ</var> and <var>[[NLRUQG_parameter|NLRUQG]]</var>.</p> | ||
[[Category:System parameters]] | [[Category:System parameters]] | ||
[[Category:Parameters]] | [[Category:Parameters]] |
Revision as of 22:49, 18 August 2016
# of DKBM LRU queues
Summary
- Default value
- 1 (also the minimum)
- Parameter type
- System
- Where set
- Not resettable
- Related products
- All
- Introduced
- Model 204 V6.1
Description
The NLRUQ parameter reduces contention on the MP lock that protects the reuse queues. This MP lock is a primary source of MP overhead.
Setting NLRUQ greater than 1 has no benefit in a non-MP run. In fact, in all cases, a setting greater than 1 might result in a slight increase in disk I/O, owing to a loss in precision in the least-recently-used algorithm for managing the disk buffer pool. With NLRUQ greater than 1, it would be possible for a page to be stolen from the buffer pool before one that was less recently used.
NLRUQ=1
preserves the single reuse queue model used in releases of Model 204 before V6R1.0.
NLRUQ is used as a multiplier to determine the minimum number of disk buffers used in an Online:
MINBUF >= NLRUQ * ((NSERVS + NSUBTKS) * MAXOBUF + 15)
A reasonable guess for a proper NLRUQ value adds two for each MP subtask, so a setting of NMPSUBS=1
suggests NLRUQ=3
, and NMPSUBS=7
suggests NLRUQ=15
.
If NLRUQ is set greater than 1, the values of LDKBMWND, MAXBUF, and MINBUF are all rounded up to a multiple of NLRUQ. The maximum setting for NLRUQ is 255.
If a MONITOR MPLOCK command output reveals a high conflict count for LRU queue locks, increase NLRUQ and NLRUQG.