ibm-information-center/dist/eclipse/plugins/i5OS.ic.apis_5.4.0.1/quschgpa.htm

738 lines
23 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Copyright" content="Copyright (c) 2006 by IBM Corporation">
<title>Change Pool Attributes (QUSCHGPA) API</title>
<!-- Begin Header Records ========================================= -->
<!-- All rights reserved. Licensed Materials Property of IBM -->
<!-- US Government Users Restricted Rights -->
<!-- Use, duplication or disclosure restricted by -->
<!-- GSA ADP Schedule Contract with IBM Corp. -->
<!-- WM SCRIPT A converted by B2H R4.1 (346) (CMS) by V2KEA304 -->
<!-- at RCHVMW2 on 17 Feb 1999 at 11:05:09 -->
<!-- Change History: -->
<!-- YYMMDD USERID Change description -->
<!-- File cleanup completed Nov 2001 by v2cdijab -->
<!-- End Header Records -->
<link rel="stylesheet" type="text/css" href="../rzahg/ic.css">
</head>
<body>
<a name="Top_Of_Page"></a>
<!-- Java sync-link -->
<script type="text/javascript" language="Javascript" src="../rzahg/synch.js">
</script>
<h2>Change Pool Attributes (QUSCHGPA) API</h2>
<div class="box" style="width: 80%;">
<br>
&nbsp;&nbsp;Required Parameter Group:<br>
<!-- iddvc RMBR -->
<br>
<table width="100%">
<tr>
<td align="center" valign="top" width="10%">1</td>
<td align="left" valign="top" width="50%">System pool identifier</td>
<td align="left" valign="top" width="20%">Input</td>
<td align="left" valign="top" width="20%">Binary(4)</td>
</tr>
<tr>
<td align="center" valign="top">2</td>
<td align="left" valign="top">New pool size</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Binary(4)</td>
</tr>
<tr>
<td align="center" valign="top">3</td>
<td align="left" valign="top">New pool activity level</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Binary(4)</td>
</tr>
</table>
<br>
&nbsp;&nbsp;Optional Parameter Group 1:<br>
<!-- iddvc RMBR -->
<br>
<table width="100%">
<tr>
<td align="center" valign="top" width="10%">4</td>
<td align="left" valign="top" width="50%">Message logging</td>
<td align="left" valign="top" width="20%">Input</td>
<td align="left" valign="top" width="20%">Char(1)</td>
</tr>
<tr>
<td align="center" valign="top">5</td>
<td align="left" valign="top">Error code</td>
<td align="left" valign="top">I/O</td>
<td align="left" valign="top">Char(*)</td>
</tr>
</table>
<br>
&nbsp;&nbsp;Optional Parameter Group 2:<br>
<!-- iddvc RMBR -->
<br>
<table width="100%">
<tr>
<td align="center" valign="top" width="10%">6</td>
<td align="left" valign="top" width="50%">Paging option</td>
<td align="left" valign="top" width="20%">Input</td>
<td align="left" valign="top" width="20%">Char(10)</td>
</tr>
</table>
<br>
&nbsp;&nbsp;Optional Parameter Group 3:<br>
&nbsp;&nbsp;<strong>Note:</strong>&nbsp;&nbsp;Group 3 is valid for shared pools
only.<br>
<!-- iddvc RMBR -->
<br>
<table width="100%">
<tr>
<td align="center" valign="top" width="10%">7</td>
<td align="left" valign="top" width="50%">Priority</td>
<td align="left" valign="top" width="20%">Input</td>
<td align="left" valign="top" width="20%">Binary(4)</td>
</tr>
<tr>
<td align="center" valign="top">8</td>
<td align="left" valign="top">Minimum pool size %</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Binary(4)</td>
</tr>
<tr>
<td align="center" valign="top">9</td>
<td align="left" valign="top">Maximum pool size %</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Binary(4)</td>
</tr>
<tr>
<td align="center" valign="top">10</td>
<td align="left" valign="top">Minimum faults</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Binary(4)</td>
</tr>
<tr>
<td align="center" valign="top">11</td>
<td align="left" valign="top">Per-thread faults</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Binary(4)</td>
</tr>
<tr>
<td align="center" valign="top">12</td>
<td align="left" valign="top">Maximum faults</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Binary(4)</td>
</tr>
</table>
<br><img src="delta.gif" alt="Start of change">
Optional Parameter Group 4:<br>
&nbsp;&nbsp;<strong>Note:</strong> Group 4 is valid for shared pools
only.<br>
<!-- iddvc RMBR -->
<br>
<table width="100%">
<tr>
<td align="center" valign="top" width="10%">13</td>
<td align="left" valign="top" width="50%">Minimum activity level</td>
<td align="left" valign="top" width="20%">Input</td>
<td align="left" valign="top" width="20%">Binary(4)</td>
</tr>
<tr>
<td align="center" valign="top" width="10%">14</td>
<td align="left" valign="top" width="50%">Maximum activity level</td>
<td align="left" valign="top" width="20%">Input</td>
<td align="left" valign="top" width="20%">Binary(4)</td>
</tr>
</table>
<img src="deltaend.gif" alt="End of change">
<br>
&nbsp;&nbsp;Default Public Authority: *USE<br>
<!-- iddvc RMBR -->
<br>
&nbsp;&nbsp;Threadsafe: No<br>
<!-- iddvc RMBR -->
<br>
</div>
<p>The Change Pool Attributes (QUSCHGPA) API changes the size, activity level,
and paging options of any system storage pool. In addition, QUSCHGPA changes
the tuning parameters for system storage pools that are also shared pools. A
system storage pool identifier is returned with the Materialize Resource
Management Data (MATRMD) machine interface (MI) or Retrieve System Status
(QWCRSSTS) API. (Note that <em>system</em> pool identifiers differ from <em>
subsystem</em> pool identifiers.) Depending on whether the base pool, shared
pool, or private subsystem pool is to be changed, the QUSCHGPA API determines
the appropriate command to use and then issues that command. This is similar to
the function provided on the System Status display, where you can change the
system storage pool size and paging options interactively.</p>
<p>You can use the QUSCHGPA API to tune storage pools without having to know
which subsystem monitor allocated the pool. In addition, you do not have to
determine whether or not a pool is a shared storage pool, unless parameter
group 3 <img src="delta.gif" alt="Start of change">
or 4 <img src="deltaend.gif" alt="End of change"> is specified.
The Work with System Status (WRKSYSSTS), the Work with
Subsystems (WRKSBS), and the Work with Shared Pools (WRKSHRPOOL) commands
provide similar functions.</p>
<br>
<h3>Authorities and Locks</h3>
<dl>
<dt><em>Subsystem Description Authority</em></dt>
<dd>*OBJOPR, *OBJMGT, and *READ</dd>
<dt><em>Subsystem Description Library Authority</em></dt>
<dd>*EXECUTE</dd>
</dl>
<br>
<h3>Required Parameter Group</h3>
<dl>
<dt><strong>System pool identifier</strong></dt>
<dd>INPUT; BINARY(4)
<p>This identifies which pool is to be changed. This number corresponds to the
number returned on option nine of the MATRMD MI instruction. This also corresponds
to the identifier shown on the Work with System
Status display. This parameter is a value ranging from 1 through 64, where pool
1 is the machine pool, and pool 2 is the base pool.</p>
</dd>
<dt><strong>New pool size</strong></dt>
<dd>INPUT; BINARY(4)
<p>The size of the pool in kilobytes, where one kilobyte is 1024 bytes. If you
do not want the pool size to be changed, you must specify a value of -1 for
this parameter. The minimum value is 256 kilobytes.</p>
<p><strong>Note:</strong> For compatibility with previous releases, a pool size
of 32 through 255 kilobytes can be specified. However, since the minimum pool
size is 256 kilobytes, the pool will not be changed when a size of 32 through
255 kilobytes is specified.</p>
</dd>
<dt><strong>New pool activity level</strong></dt>
<dd>INPUT; BINARY(4)
<p>The activity level for the pool. If you do not want the activity level to be
changed, you must specify a value of -1 for this parameter. You cannot change
the activity level of the machine pool.</p>
</dd>
</dl>
<br>
<h3>Optional Parameter Group 1</h3>
<dl>
<dt><strong>Message logging</strong></dt>
<dd>INPUT; CHAR(1)
<p>Whether messages reporting that a change was made are written to the current
job's job log and to the QHST message log. This affects the logging of
change-related messages only; it does not affect the logging of error messages.
Valid values are:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>Y</em></td>
<td align="left" valign="top">Log change messages.</td>
</tr>
<tr>
<td align="left" valign="top"><em>N</em></td>
<td align="left" valign="top">Do not log change messages.</td>
</tr>
</table>
<p>If this parameter is omitted, Y is used and change messages are logged.</p>
</dd>
<dt><strong>Error code</strong></dt>
<dd>I/O; CHAR(*)
<p>The structure in which to return error information. For the format of the
structure, see <a href="../apiref/error.htm#hdrerrcod">Error Code Parameter</a>. If this
parameter is omitted, diagnostic and escape messages are issued to the
application.</p>
</dd>
</dl>
<br>
<h3>Optional Parameter Group 2</h3>
<dl>
<dt><strong>Paging option</strong></dt>
<dd>INPUT; CHAR(10)
<p>Whether the system should dynamically adjust the paging characteristics of
the storage pool for optimum performance. Valid values are:</p>
<table cellpadding="5">
<!-- cols="10 90" -->
<tr>
<td align="left" valign="top"><em>*SAME</em></td>
<td align="left" valign="top">The paging option for the storage pool is not
changed.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*FIXED</em></td>
<td align="left" valign="top">The system will not dynamically adjust the paging
characteristics; system default values are used.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*CALC</em></td>
<td align="left" valign="top">The system will dynamically adjust the paging
characteristics.</td>
</tr>
</table>
<p>If this parameter is omitted, the paging option is not changed.</p>
</dd>
</dl>
<br>
<h3>Optional Parameter Group 3</h3>
<p><strong>Note:</strong>&nbsp;&nbsp;Group 3 is valid for shared pools
only.</p>
<dl>
<dt><strong>Priority</strong></dt>
<dd>INPUT; BINARY(4)
<p>The priority of this pool relative to the priority of the other storage
pools. Valid values are 1 through 14. The priority for the *MACHINE pool must
be 1. This value is used by the system if the performance adjustment (QPFRADJ)
system value is set to 2 or 3. If this parameter is omitted, the priority value
is not changed. If you want the system to calculate the priority, you must
specify -2 for this parameter. If you do not want this value to change, you may
specify -1 for this parameter.</p>
</dd>
<dt><strong>Minimum pool size %</strong></dt>
<dd>INPUT; BINARY(4)
<p>The minimum amount of storage to allocate to this storage pool (as a
percentage of total main storage), specified in hundredths. That is, a value of
1234 means 12.34 percent. This value cannot be greater than the maximum pool
size % parameter value. This value is used by the system if the QPFRADJ system
value is set to 2 or 3. If this parameter is omitted, the minimum size value is
not changed. If you want the system to calculate the minimum size, you must
specify -2 for this parameter. If you do not want this value to change, you may
specify -1 for this parameter.</p>
</dd>
<dt><strong>Maximum pool size %</strong></dt>
<dd>INPUT; BINARY(4)
<p>The maximum amount of storage to allocate to this storage pool (as a
percentage of total main storage), specified in hundredths. That is, a value of
1234 means 12.34 percent. This value cannot be less than the minimum pool size
% parameter value. This value is used by the system if the QPFRADJ system value
is set to 2 or 3. If this parameter is omitted, the maximum size value is not
changed. If you want the system to calculate the maximum size, you must specify
-2 for this parameter. If you do not want this value to change, you may specify
-1 for this parameter.</p>
</dd>
<dt><strong>Minimum faults</strong></dt>
<dd>INPUT; BINARY(4)
<p>The minimum faults-per-second guideline to use for this storage pool,
specified in hundredths. That is, a value of 1234 means 12.34. This value is
used by the system if the QPFRADJ system value is set to 2 or 3. If this
parameter is omitted, the minimum faults value is not changed. If you want the
system to calculate minimum faults, you must specify -2 for this parameter. If
you do not want this value to change, you may specify -1 for this
parameter.</p>
</dd>
<dt><strong>Per-thread faults</strong></dt>
<dd>INPUT; BINARY(4)
<p>The faults per second for each active thread in this storage pool, specified
in hundredths. That is, a value of 1234 means 12.34. Each job is comprised of
one or more threads. The system multiplies this number by the number of active
threads that it finds in the pool. This result is added to the minimum faults
parameter to calculate the faults-per-second guideline to use for this pool.
This value is used by the system if the QPFRADJ system value is set to 2 or 3.
If this parameter is omitted, the per-thread faults value is not changed. If
you want the system to calculate per-thread faults, you must specify -2 for
this parameter. If you do not want this value to change, you may specify -1 for
this parameter.</p>
</dd>
<dt><strong>Maximum faults</strong></dt>
<dd>INPUT; BINARY(4)
<p>The maximum faults-per-second guideline to use for this storage pool,
specified in hundredths. That is, a value of 1234 means 12.34. The sum of
minimum faults and per-thread faults must be less than the value of the maximum
faults parameter. This value is used by the system if the QPFRADJ system value
is set to 2 or 3. If this parameter is omitted, the maximum faults value is not
changed. If you want the system to calculate maximum faults, you must specify
-2 for this parameter. If you do not want this value to change, you may specify
-1 for this parameter.</p>
</dd></dl>
<h3><img src="delta.gif" alt="Start of change">Optional Parameter Group 4</h3>
<p><strong>Note:</strong> Group 4 is valid for shared pools
only.</p>
<dl>
<dt><strong>Minimum activity level</strong></dt>
<dd>INPUT; BINARY(4)
<p>The minimum value that this pool's activity level can be set to by the
performance adjuster when the QPFRADJ
system value is set to 2 or 3. Valid values are 1 through 32767. This value cannot be
greater than the maximum activity level parameter value. You cannot change
the minimum activity level for the machine pool.
If this parameter is omitted, the minimum activity level
is not changed. If you want the system to calculate the minimum activity level,
you must specify -2 for this parameter. If you do not want this value to change, you may
specify -1 for this parameter.</p>
</dd>
<dt><strong>Maximum activity level</strong></dt>
<dd>INPUT; BINARY(4)
<p>The maximum value that this pool's activity level can be set to by the
performance adjuster when the QPFRADJ
system value is set to 2 or 3. Valid values are 5 through 32767. This value cannot be
less than the minimum activity level parameter value.
You cannot change the maximum activity level for the machine pool.
If this parameter is omitted, the maximum activity level
is not changed. If you want the system to calculate the maximum activity level,
you must specify -2 for this parameter. If you do not want this value to change, you may
specify -1 for this parameter.<img src="deltaend.gif" alt="End of change"></p>
</dd>
</dl>
<p>The following table summarizes the values you can specify for the system
pool identifier, the new pool size, and the new pool activity level.</p>
<table border="1" width="80%" cellpadding="5">
<!-- cols="35 25 40" -->
<tr>
<th align="left" valign="bottom">System Pool Identifier</th>
<th align="left" valign="bottom">New Pool Size</th>
<th align="left" valign="bottom">New Pool Activity Level</th>
</tr>
<tr>
<td align="left" valign="top">1 (Machine pool)</td>
<td align="left" valign="top">-1 or &gt;= 256</td>
<td align="left" valign="top">-1</td>
</tr>
<tr>
<td align="left" valign="top">2 (Base pool)</td>
<td align="left" valign="top">-1 or &gt;= 256&nbsp;<sup>1</sup></td>
<td align="left" valign="top">-1 or 1 through 32&nbsp;767</td>
</tr>
<tr>
<td align="left" valign="top">3 to 64<br>
</td>
<td align="left" valign="top">&gt;= 256&nbsp;<sup>1</sup></td>
<td align="left" valign="top">1 through 32&nbsp;767</td>
</tr>
<tr>
<td align="left" valign="top" colspan="3"><sup>1</sup>&nbsp;&nbsp;For
compatibility with previous releases, a pool size of 32 through 255 kilobytes
can be specified. Since the minimum pool size is 256 kilobytes, however, the
pool will not be changed when a size of 32 through 255 kilobytes is
specified.</td>
</tr>
</table>
<p>For pools 3 through 64, both size and pool activity level must be
specified.</p>
<p>In some cases, pool size changes do not take effect immediately. For
example, a save or restore operation might be using some of the storage
allocated to a pool, or the system might be using some of the storage allocated
to the base pool. The size is changed only when the storage being used is free
again.</p>
<p>The base pool holds all unused main storage on the system that is not
allocated to other shared or private pools. As subsystems are started and
allocate storage for their shared and private storage pools, that storage comes
from the base pool. The base pool (pool number 2) size is what is left after
pool 1 and pools 3 through 64 are subtracted from the total main storage. The
QBASPOOL system value is a minimum size, and it is not the actual size of the
base pool. At this minimum size, the system does not allow additional storage
requests. For this reason, you must calculate the storage requirements for all
pools on the system, including the base pool, and then run this API.</p>
<br>
<h3>Error Messages</h3>
<table width="100%">
<tr>
<th align="left" valign="top">Message ID</th>
<th align="left" valign="top">Error Message Text</th>
</tr>
<tr>
<td align="left" valign="top" width="15%">CPF1001 E</td>
<td align="left" valign="top" width="85%">Wait time expired for system
response.</td>
</tr>
<tr>
<td align="left" valign="top">CPF1076 E</td>
<td align="left" valign="top">Specified value not allowed for system value
&amp;1.</td>
</tr>
<tr>
<td align="left" valign="top">CPF1078 E</td>
<td align="left" valign="top">System value &amp;1 not changed.</td>
</tr>
<tr>
<td align="left" valign="top">CPF113A E</td>
<td align="left" valign="top">Sum of MINFAULT and JOBFAULT parameters exceeds
MAXFAULT parameter.</td>
</tr>
<tr>
<td align="left" valign="top">CPF113B E</td>
<td align="left" valign="top">Minimum size percentage exceeds maximum size
percentage.</td>
</tr>
<tr>
<td align="left" valign="top">CPF113C E</td>
<td align="left" valign="top">Parameter not valid for private pool.</td>
</tr>
<tr>
<td align="left" valign="top">CPF113E E</td>
<td align="left" valign="top">Range of parameter &amp;2 does not include
&amp;4.</td>
</tr>
<tr>
<td align="left" valign="top">CPF1165 E</td>
<td align="left" valign="top">Specified parameter not allowed for *MACHINE
pool.</td>
</tr>
<tr>
<td align="left" valign="top">CPF1619 E</td>
<td align="left" valign="top">Subsystem description &amp;1 in library &amp;2
damaged.</td>
</tr>
<tr>
<td align="left" valign="top">CPF1691 E</td>
<td align="left" valign="top">Active subsystem description may or may not have
changed.</td>
</tr>
<tr>
<td align="left" valign="top">CPF1697 E</td>
<td align="left" valign="top">Subsystem description &amp;1 not changed.</td>
</tr>
<tr>
<td align="left" valign="top">CPF1879 E</td>
<td align="left" valign="top">Paging option &amp;1 not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF1880 E</td>
<td align="left" valign="top">Machine pool paging option cannot be
changed.</td>
</tr>
<tr>
<td align="left" valign="top">CPF1881 E</td>
<td align="left" valign="top">Changing private pool paging option not
allowed.</td>
</tr>
<tr>
<td align="left" valign="top">CPF24B4 E</td>
<td align="left" valign="top">Severe error while addressing parameter
list.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3CA0 E</td>
<td align="left" valign="top">System pool &amp;1 does not exist.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3CA1 E</td>
<td align="left" valign="top">Pool size &amp;1 is not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3CA2 E</td>
<td align="left" valign="top">Activity level &amp;1 is not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3CA3 E</td>
<td align="left" valign="top">Pool &amp;1 is not in use.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3CA4 E</td>
<td align="left" valign="top">Changing machine pool activity level is not
allowed.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3CA5 E</td>
<td align="left" valign="top">Both pool size and activity level are
required.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3CA6 E</td>
<td align="left" valign="top">Message logging value &amp;1 not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3CF1 E</td>
<td align="left" valign="top">Error code parameter not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3CF2 E</td>
<td align="left" valign="top">Error(s) occurred during running of &amp;1
API.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C36 E</td>
<td align="left" valign="top">Number of parameters, &amp;1, entered for this
API was not valid.</td>
</tr>
<tr>
<td align="left" valign="top"><img src="delta.gif" alt="Start of change">
CPF3C3C E</td>
<td align="left" valign="top">Value for parameter &amp;1 not valid.
<img src="deltaend.gif" alt="End of change"></td>
</tr>
<tr>
<td align="left" valign="top">CPF3C90 E</td>
<td align="left" valign="top">Literal value cannot be changed.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9872 E</td>
<td align="left" valign="top">Program or service program &amp;1 in library
&amp;2 ended. Reason code &amp;3.</td>
</tr>
</table>
<br>
<br>
<h3>Example: Changing System Storage Pool Attributes</h3>
<p>See <a href="../apiref/aboutapis.htm#codedisclaimer">Code disclaimer information</a>
for information pertaining to code examples.</p>
<p>The following is an example of how to change system storage pool attributes
using the QUSCHGPA API:</p>
<pre>
Pseudocode
.
.
.
MATRMD (OPERAND1, OPERAND2);
DO /* Do loop for each pool in use */
.
. /* Calculate the desired pool size
and activity level */
.
END
DO /* Do loop for each pool in use */
CALL QUSCHGPA (POOLID, POOLSIZE, POOLACTLVL);
/* Change pool attributes */
END
.
.
.
</pre>
<hr>
API introduced: V1R3
<hr>
<center>
<table cellpadding="2" cellspacing="2">
<tr align="center">
<td valign="middle" align="center">
<a href="#Top">Top</a> |
<a href="wm1.htm">Work Management APIs</a> |
<a href="aplist.htm">APIs by category</a></td>
</tr>
</table>
</center>
</body>
</html>