https://m204wiki.rocketsoftware.com/index.php?title=SirTune_user_states&feed=atom&action=historySirTune user states - Revision history2024-03-29T01:49:16ZRevision history for this page on the wikiMediaWiki 1.40.1https://m204wiki.rocketsoftware.com/index.php?title=SirTune_user_states&diff=117697&oldid=prevRPuszewski at 17:53, 31 October 20192019-10-31T17:53:11Z<p></p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 17:53, 31 October 2019</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l231">Line 231:</td>
<td colspan="2" class="diff-lineno">Line 231:</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div><tr><th>WN$WAI</th><td>31 - Non-swappable <var>$Wait</var> call. Requires BLKIN.</td></tr></div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div><tr><th>WN$WAI</th><td>31 - Non-swappable <var>$Wait</var> call. Requires BLKIN.</td></tr></div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><tr><th>WULDB2</th></div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><tr><th>WULDB2</th><td>32 - Wait for DB2 subtask<ins style="font-weight: bold; text-decoration: none;">. Requires BLKN.</td></tr></ins></div></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><td>32 - Wait for DB2 subtask. Requires BLKN.</td></tr></div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"><tr><th>WOCSUB</th><td>33 - Waiting on Open/Close subtask. Requires BLKIN.</td></tr></ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"><tr><th>WDBUGU</th><td>38 - Wait for user being debugged. Requires BLKN.</td></tr></ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"><tr><th>WDBUGD</th><td>39 - Wait for user performing debugging. Requires BLKN.</td></tr></ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"><tr><th>WMQTSK</th><td>40 - Wait for MQ subtask to become available. Requires BLKN.</td></tr></ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"><tr><th>WMQAPI</th><td>41 - Wait for MQ subtask to run. Requires BLKIN.</td></tr></ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"><tr><th>WMQGWT</th><td>42 - Wait for MQGET with wait time specified. Requires BLKN.</td></tr></ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"><tr><th>WECLD</th><td>43 - Wait for ECF to load/delete a module. Requires BLKN.</td></tr></ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"><tr><th>WECMOD</th><td>44 - Wait for external module to become free. Requires BLKN.</td></tr></ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"><tr><th>WECTSK</th><td>45 - Wait for ECF subtask to become free. Requires BLKN.</td></tr></ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"><tr><th>WECRUN</th><td>46 - Wait for external module to run. Requires BLKN.</td></tr></ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"><tr><th>W$WTQZ</th><td>47 - User within $WAIT('CPQZ') wait; CHKPPST within extended quiesce. Requires BLKN.</td></tr></ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"><tr><th>W$WTXS</th><td>48 - User within $WAIT('QZSIG') wait. Requires BLKN.</td></tr></ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"><tr><th>W$NDEQ</th><td>49 - At end of extended quiesce, waiting for count of $WAIT('CPQZ') and $WAIT('QZSIG') users to go to zero. Requires BLKN.</td></tr></ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"><tr><th>WHSM</th><td>50 - Wait FOR HSM recall of a migrated dataset. Requires BLKN.</td></tr></ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"><tr><th>WCDS</th><td>51 - Wait for share mode constraints DB lock. Requires BLKIN.</td></tr></ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"><tr><th>WCDX</th><td>52 - Wait for exclusive mode constraints DB lock. Requires BLKIN.</td></tr></ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"><tr><th>WSBBOL</th><td>53 - Wait for SUB-TRANS CP processing to complete for this user. Requires BLKN.</td></tr></ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"><tr><th>WSBBFC</th><td>54 - SUB-TRAN CP postponement - waiting on blocking file command to complete. Requires BLKIN.</td></tr></ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"><tr><th>WSBTMR</th><td>55 - SUB-TRAN CP CPTS timer wait. Requires BLKIN.</td></tr></ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"><tr><th>WSBARY</th><td>56 - SUB-TRAN CP scanner array wait. Requires BLKIN.</td></tr></ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"><tr><th>WDMNM</th><td>57 - A daemon child waiting on its master. Requires BLK.</td></tr></ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"><tr><th>WDMND</th><td>58 - A daemon master waiting on its daemon. Requires BLK.</td></tr></ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"><tr><th>WCUSTn</th><td>80-89 - Customer reserved wait codes.</td></tr></ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"><tr><th>WFUNLD</th><td>97 - Fast Unload request. Requires BLKN.</td></tr></ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"><tr><th>WMAXAU</th><td>98 - MAXAUSER delay. Requires BLKN.</td></tr></ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"><tr><th>WSFQUI</th><td>99 - SirFact quiesce wait</ins>. Requires BLKN.</td></tr></div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div></table></div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div></table></div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
</table>RPuszewskihttps://m204wiki.rocketsoftware.com/index.php?title=SirTune_user_states&diff=115047&oldid=prevJAL: link repair2018-04-27T18:19:14Z<p>link repair</p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 18:19, 27 April 2018</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l192">Line 192:</td>
<td colspan="2" class="diff-lineno">Line 192:</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>next to the users in a <var class="product">Model&nbsp;204</var> <var>[[ONLINE monitoring#Wait type values|MONITOR]]</var> command or in the SirMon [[User statistics displayed in SirMon|WAITTYP statistic]].</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>next to the users in a <var class="product">Model&nbsp;204</var> <var>[[ONLINE monitoring#Wait type values|MONITOR]]</var> command or in the SirMon [[User statistics displayed in SirMon|WAITTYP statistic]].</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>STATE reports can be requested by these wait types.</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>STATE reports can be requested by these wait types.</div></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>To produce these STATE reports by wait type, [[<del style="font-weight: bold; text-decoration: none;">SirTune_configuration_statements</del>#colstat|COLLECT statements]] (collecting data for all states in which a wait type might occur) must be added to <var class="product">SirTune</var>'s input stream (<code>SIRTUNEI</code>).</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>To produce these STATE reports by wait type, [[<ins style="font-weight: bold; text-decoration: none;">SirTune data collection statements</ins>#colstat|COLLECT statements]] (collecting data for all states in which a wait type might occur) must be added to <var class="product">SirTune</var>'s input stream (<code>SIRTUNEI</code>).</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>For example, disk I/O wait types are not swappable, so it is only necessary to collect state BLKIN to produce a <code>REPORT STATE WDISK</code> report.</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>For example, disk I/O wait types are not swappable, so it is only necessary to collect state BLKIN to produce a <code>REPORT STATE WDISK</code> report.</div></td></tr>
</table>JALhttps://m204wiki.rocketsoftware.com/index.php?title=SirTune_user_states&diff=104060&oldid=prevJAL: link repair2017-08-08T20:58:39Z<p>link repair</p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 20:58, 8 August 2017</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l115">Line 115:</td>
<td colspan="2" class="diff-lineno">Line 115:</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>===Specifying states in COLLECT and REPORT STATE statements===</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>===Specifying states in COLLECT and REPORT STATE statements===</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Any of the above primary or composite states can be included on</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Any of the above primary or composite states can be included on</div></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>[[SirTune <del style="font-weight: bold; text-decoration: none;">configuration </del>statements#colstat|COLLECT]] statements for input to SIRTUNEI and on [[SirTune reports#STATE reports|REPORT STATE]] statements for input to SIRTUNEREPORT or SIRTUNER.</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>[[SirTune <ins style="font-weight: bold; text-decoration: none;">data collection </ins>statements#colstat|COLLECT]] statements for input to SIRTUNEI and on [[SirTune reports#STATE reports|REPORT STATE]] statements for input to SIRTUNEREPORT or SIRTUNER.</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Some valid COLLECT statements are:</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Some valid COLLECT statements are:</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div><p class="code">COLLECT BLKN SWPG</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div><p class="code">COLLECT BLKN SWPG</div></td></tr>
</table>JALhttps://m204wiki.rocketsoftware.com/index.php?title=SirTune_user_states&diff=104051&oldid=prevJAL: link repair2017-08-08T19:46:31Z<p>link repair</p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 19:46, 8 August 2017</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l182">Line 182:</td>
<td colspan="2" class="diff-lineno">Line 182:</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>The default distinction is made on the basis of the</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>The default distinction is made on the basis of the</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>actual task on which a user is running.</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>actual task on which a user is running.</div></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>This can be changed with the SIRTUNER <code>[[SirTune <del style="font-weight: bold; text-decoration: none;">Report Generator configuration</del>#mpvirt|MPVIRT]]</code> statement.</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>This can be changed with the SIRTUNER <code>[[SirTune <ins style="font-weight: bold; text-decoration: none;">report generation</ins>#mpvirt|MPVIRT]]</code> statement.</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>This is generally the preferred setting when using</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>This is generally the preferred setting when using</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>the <code>REPORT STATE RUNGM</code> report to try to reduce the amount of maintask (serial) SOUL code.</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>the <code>REPORT STATE RUNGM</code> report to try to reduce the amount of maintask (serial) SOUL code.</div></td></tr>
</table>JALhttps://m204wiki.rocketsoftware.com/index.php?title=SirTune_user_states&diff=81657&oldid=prevJAL: misc formatting2015-11-12T21:55:34Z<p>misc formatting</p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 21:55, 12 November 2015</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l271">Line 271:</td>
<td colspan="2" class="diff-lineno">Line 271:</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>A high value for number of users per sample with wait types CFREX and CFRSH in the [[SirTune reports#SUMMARY reports|SUMMARY report]] suggests that critical file resource enqueuing bears closer examination.</p></div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>A high value for number of users per sample with wait types CFREX and CFRSH in the [[SirTune reports#SUMMARY reports|SUMMARY report]] suggests that critical file resource enqueuing bears closer examination.</p></div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>There are four <del style="font-weight: bold; text-decoration: none;">different </del>critical file resources:</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>There are four critical file resources:</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div><table class="thJustBold"></div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div><table class="thJustBold"></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"><caption>Critical file resources</caption></ins></div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div><tr><th>DIRECT</th><td>Protects table B updates and accesses.</td></tr></div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div><tr><th>DIRECT</th><td>Protects table B updates and accesses.</td></tr></div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div><tr><th>INDEX</th><td>Protects accesses and updates of table C and the ordered index.</td></tr></div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div><tr><th>INDEX</th><td>Protects accesses and updates of table C and the ordered index.</td></tr></div></td></tr>
<tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l281">Line 281:</td>
<td colspan="2" class="diff-lineno">Line 282:</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div></table></div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div></table></div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">===Determining the cause of a wait===</ins></div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>A first step to investigating a critical file resource enqueueing problem</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>A first step to investigating a critical file resource enqueueing problem</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>is to produce reports for the WCFR state.</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>is to produce reports for the WCFR state.</div></td></tr>
<tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l303">Line 303:</td>
<td colspan="2" class="diff-lineno">Line 305:</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>SirTune is able to produce several additional reports to help isolate the</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>SirTune is able to produce several additional reports to help isolate the</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>cause of critical file resource enqueuing.</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>cause of critical file resource enqueuing.</div></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>The first report that might be useful is the CFRROOT report.</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>The first report that might be useful is the <ins style="font-weight: bold; text-decoration: none;">[[SirTune reports#</ins>CFRROOT <ins style="font-weight: bold; text-decoration: none;">reports|CFRROOT]] </ins>report.</div></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>This report indicates the base wait types that are behind critical file resource waits.</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>This report indicates the base wait types that are behind critical file resource waits. The CFRROOT report does not provide</div></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>The <del style="font-weight: bold; text-decoration: none;">[[SirTune reports#</del>CFRROOT <del style="font-weight: bold; text-decoration: none;">reports|CFRROOT]] </del>report does not provide</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>information <ins style="font-weight: bold; text-decoration: none;">about </ins>which lines of code cause critical file resource waits, so it is not helpful for application tuning.</div></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>information <del style="font-weight: bold; text-decoration: none;">on </del>which lines of code cause critical file resource waits, so it is not helpful for application tuning.</div></td><td colspan="2" class="diff-side-added"></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>The <del style="font-weight: bold; text-decoration: none;"><code></del>CFRROOT<del style="font-weight: bold; text-decoration: none;"></code> </del>report might indicate that</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>The CFRROOT report might indicate that</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>application tuning (rather than system tuning) might be required to reduce</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>application tuning (rather than system tuning) might be required to reduce</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>critical file resource enqueuing.</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>critical file resource enqueuing.</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>This would be indicated by a primary root cause</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>This would be indicated by a primary root cause</div></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>of DISK (disk I/O waits) or maybe JRNLO (journal I/O waits).</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>of <ins style="font-weight: bold; text-decoration: none;"><code></ins>DISK<ins style="font-weight: bold; text-decoration: none;"></code> </ins>(disk I/O waits) or maybe <ins style="font-weight: bold; text-decoration: none;"><code></ins>JRNLO<ins style="font-weight: bold; text-decoration: none;"></code> </ins>(journal I/O waits).</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">===Reducing wait times===</ins></div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>You can attack a primary root cause for critical file resource waits</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>You can attack a primary root cause for critical file resource waits</div></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;">either </del>by trying to reduce overall disk I/O's or journal I/O's (with application tuning), or by specifically targeting those instructions that hold critical file resources.</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>by trying to reduce overall disk I/O's or journal I/O's (with application tuning), or by specifically targeting those instructions that hold critical file resources.</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>To facilitate this latter option, several CFR states can be requested</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>To facilitate this latter option, several CFR states can be requested</div></td></tr>
<tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l321">Line 321:</td>
<td colspan="2" class="diff-lineno">Line 323:</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>These states are:</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>These states are:</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div><table class="thJustBold"></div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div><table class="thJustBold"></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"><caption>CFR states</caption></ins></div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div><tr><th>CFRHANY</th></div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div><tr><th>CFRHANY</th></div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div><td>The state where a user holds any critical file resource.</td></tr></div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div><td>The state where a user holds any critical file resource.</td></tr></div></td></tr>
</table>JALhttps://m204wiki.rocketsoftware.com/index.php?title=SirTune_user_states&diff=81592&oldid=prevJAL: misc cleanup2015-11-09T23:24:25Z<p>misc cleanup</p>
<a href="https://m204wiki.rocketsoftware.com/index.php?title=SirTune_user_states&diff=81592&oldid=81549">Show changes</a>JALhttps://m204wiki.rocketsoftware.com/index.php?title=SirTune_user_states&diff=81549&oldid=prevJAL: misc cleanup2015-11-06T23:47:37Z<p>misc cleanup</p>
<a href="https://m204wiki.rocketsoftware.com/index.php?title=SirTune_user_states&diff=81549&oldid=78087">Show changes</a>JALhttps://m204wiki.rocketsoftware.com/index.php?title=SirTune_user_states&diff=78087&oldid=prevAdmin: 1 revision: SirTune doc2015-07-02T17:47:05Z<p>1 revision: SirTune doc</p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<tr class="diff-title" lang="en">
<td colspan="1" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="1" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 17:47, 2 July 2015</td>
</tr><tr><td colspan="2" class="diff-notice" lang="en"><div class="mw-diff-empty">(No difference)</div>
</td></tr></table>Adminhttps://m204wiki.rocketsoftware.com/index.php?title=SirTune_user_states&diff=78086&oldid=prevJAL: /* See also */2015-07-02T17:26:19Z<p><span dir="auto"><span class="autocomment">See also</span></span></p>
<p><b>New page</b></p><div><!--Page automatically generated by CMSTOWIK EXEC and will be<br />
** automatically replaced ** -- any manual edits will be lost.<br />
You've been warned. .. (Page built by JAL at the SIRIUS VM; file: FUNPGNEW SYSUT2) --><br />
<!-- Page name: SirTune user states--><br />
<p></p><br />
When the <var class="product">SirTune</var> sampling program is collecting a sample it scans all<br />
logged on users.<br />
Each user is classified by its <b>state</b>.<br />
The user's state is a general indication of the type of activity<br />
occurring in a user thread.<br />
These states roughly correspond to the states reported<br />
by the <var class="product">Model 204</var> performance monitor, though broken down to a finer level<br />
of detail.<br />
<p></p><br />
<p></p><br />
The following primary states are distinguished by <var class="product">SirTune</var>:<br />
<table class="thJustBold"><br />
<tr><th>BLKIN</th><br />
<td>This includes any user that is blocked, that is waiting for something, in a server and not waiting for user input. This is distinguished from BLKIU because waits for things other than user input are generally viewed as a performance problem while waits for user input are not.</td></tr><br />
<br />
<tr><th>BLKIU</th><br />
<td>This includes any user that is blocked, that is waiting for something, in a server and waiting for user input. This is distinguished from BLKIN because waits for things other than user input are generally viewed as a performance problem while waits for user input are not.</td></tr><br />
<br />
<tr><th>BLKON</th><br />
<td>This includes any user that is blocked, that is waiting for something, not in a server and not waiting for user input. This is distinguished from BLKOU because waits for things other than user input are generally viewed as a performance problem while waits for user input are not.</td></tr><br />
<br />
<tr><th>BLKOU</th><br />
<td>This includes any user that is blocked, that is waiting for something, not in a server and waiting for user input. This is distinguished from BLKON because waits for things other than user input are generally viewed as a performance problem while waits for user input are not.</td></tr><br />
<br />
<tr><th>REDY</th><td>This includes any user that is ready to run, that is, in a server and not waiting on anything but not actually being run. Generally a user is in state REDY because another user is currently running.</td></tr><br />
<br />
<tr><th>RUNG</th><td>This includes any user that is running, that is, using CPU. Unless MP/204 is installed, there can never be more than one user in state RUNG per sample.</td></tr><br />
<br />
<tr><th>RUNGM</th><td>If MP/204 is installed, this includes any user that is running, that is, using CPU, in maintask mode. There can never be more than one user in state RUNGM per sample. See [[#rungms|The RUNGM and RUNGS states]].</td></tr><br />
<br />
<tr><th>RUNGS</th><td>If MP/204 is installed, this includes any user that is running, that is, using CPU, in subtask mode. See [[#rungms|The RUNGM and RUNGS states]].</td></tr><br />
<br />
<tr><th>SWPGI</th><td>This includes any user that is in the process of being swapped into a server.</td></tr><br />
<br />
<tr><th>SWPGOBN</th><br />
<td>This includes any user that is in the process of being swapped out of a server because it is waiting on something other than user input. If what the user was waiting on is still not completed at the point the user is swapped out, the user switches to state BLKON.</td></tr><br />
<br />
<tr><th>SWPGOBU</th><br />
<td>This includes any user that is in the process of being swapped out of a server because it is waiting on user input. If what the user was waiting on is still not completed at the point the user is swapped out, the user switches to state BLKOU.</td></tr><br />
<br />
<tr><th>SWPGOW</th><br />
<td>This includes any user that is in the process of being swapped out of a server because it is has been server sliced. If no servers of appropriate size are available at the point the user is swapped out, the user switches to state WTSV.</td></tr><br />
<br />
<tr><th>WPST</th><td>This includes any PST that is not running.</td></tr><br />
<br />
<tr><th>WTSV</th><br />
<td>This includes any user that is waiting for a server to become available so that the user could be run. The only reason a user would be in the WTSV state is that all servers of appropriate size are occupied by other users that cannot be swapped out of server.</td></tr><br />
</table><br />
<br />
In this list the term "waiting for user input" refers to a thread waiting for terminal or line input. In addition, a wait for a response to the console message issued by user 0 on a HALT command is also considered a user input wait.<br />
"Sleep" waits, that is, waits resulting from the *SLEEP command and<br />
the PAUSE statement, are not considered user input waits.<br />
<br />
In addition to the above primary states, several composite states<br />
are provided for convenience and report generation.<br />
For example, composite state SWPG is made up of primary states SWPGI, SWPGOBN, SWPGOBU and<br />
SWPGOW.<br />
Thus any user in any of the indicated primary states is also considered<br />
to be in state SWPG.<br />
The following are the available composite states, their component primary states and an explanation that provides an intuitive feel for the meaning of the composite state.<br />
<table class="thJustBold"><br />
<tr><th>ALL</th><td>This is a composite state that includes all primary states. Any logged on user or PST is considered in state ALL.</td></tr><br />
<br />
<tr><th>ALLI</th><td>This state is made up of RUNG, REDY, BLKIN and BLKIU. It includes any user currently in a server and not being swapped out. It does not include non-running PSTs.</td></tr><br />
<br />
<tr><th>ALLN</th><td>This state is made up of RUNG, REDY, BLKIN, BLKON, WTSV, SWPGI, SWPGOBN and SWPGOW. It includes any user in not blocked for user input. It does not include non-running PSTs.</td></tr><br />
<br />
<tr><th>BLK</th><td>This state is made up of BLKIN, BLKIU, BLKON, BLKOU, SWPGOBN and SWPGOBU. It includes any user that is blocked on anything.</td></tr><br />
<br />
<tr><th>BLKI</th><td>This state is made up of BLKIN and BLKIU. It includes any user that is in a server and blocked on anything.</td></tr><br />
<br />
<tr><th>BLKN</th><td>This state is made up of BLKIN, BLKON and SWPGOBN. It includes any user that is blocked for something other than user input.</td></tr><br />
<br />
<tr><th>BLKO</th><td>This state is made up of BLKON and BLKOU. It includes any user that is not in a server but is blocked on something.</td></tr><br />
<br />
<tr><th>BLKU</th><td>This state is made up of BLKIU, BLKOU and SWPGOBU. It includes any user that is waiting for user input.</td></tr><br />
<br />
<tr><th>OSERVN</th><td>This state is made up of SWPGOBN and BLKON. It includes any user that is either not in a server or being swapped out of a server because it is blocked on something other than user input.</td></tr><br />
<br />
<tr><th>OSERVU</th><td>This state is made up of SWPGOBU and BLKOU. It includes any user that is either not in a server or being swapped out of a server because it is blocked on user input.</td></tr><br />
<br />
<tr><th>OSERVW</th><br />
<td>This state is made up of SWPGOW and WTSV. It includes any user that is either waiting for a server or being swapped out of a server so that it can wait for a server to free up. This latter case only happens when a user is server sliced.</td></tr><br />
<br />
<tr><th>REDYR</th><br />
<td>This state is made up of RUNG and REDY. It includes any user that is not blocked on anything and is in a server.<br />
Users in state REDYR can either running or waiting for the <var class="product">Model 204</var> scheduler to provide CPU to run.</td></tr><br />
<br />
<tr><th>RUNBL</th><br />
<td>This state is made up of RUNG, REDY, WTSV and SWPGOW.<br />
It includes any user that is not blocked on anything, that is, is runnable. Users in state RUNBL can either running or waiting for the <var class="product">Model 204</var> scheduler to provide the resources (CPU and/or server) to run.</td></tr><br />
<br />
<tr><th>SWPG</th><td>This state is made up of SWPGI, SWPGOBN, SWPGOBU and SWPGOW. It includes any user that is being swapped into or out of a server.</td></tr><br />
<br />
<tr><th>SWPGO</th><td>This state is made up of SWPGOBN, SWPGOBU and SWPGOW. It includes any user that is being swapped out of a server.</td></tr><br />
<br />
<tr><th>SWPGOB</th><td>This state is made up of SWPGOBN and SWPGOBU. It includes any user that is being swapped out of a server because it is blocked on something.</td></tr><br />
</table><br />
<br />
Any of the above primary or composite states can be included on<br />
COLLECT statements for input to <var class="product">SirTune</var> and REPORT STATE statements<br />
for input to SIRTUNER.<br />
Some valid COLLECT statements are:<br />
<p class="code"><nowiki>COLLECT BLKN SWPG<br />
COLLECT ALLN<br />
COLLECT BLKIN BLKON SWPGOBN WTSV SWPGOW SWPGI<br />
</nowiki></p><br />
<br />
Some valid REPORT STATE statements are<br />
<p class="code"><nowiki>REPORT STATE BLKIN EVAL<br />
REPORT STATE SWPG CHUNK 100<br />
REPORT STATE ALLN EVAL CHUNK 1000 CHUNK 4<br />
</nowiki></p><br />
<br />
In addition to user states, <var class="product">SirTune</var>'s COLLECT statement allows<br />
you to request information about <b>DISKIO</b> and <b>CFR</b>.<br />
The following is a valid COLLECT statement<br />
<p class="code"><nowiki>COLLECT DISKIO CFR<br />
</nowiki></p><br />
but there is no REPORT STATE statement which allows DISKIO nor CFR.<br />
<br />
Any state requested in a REPORT STATE statement must have had the corresponding<br />
primary states explicitly or implicitly specified on COLLECT statements for<br />
<var class="product">SirTune</var>.<br />
The simplest way to ensure this is by explicitly specifying any state<br />
to be used in a REPORT STATE statement on a COLLECT statement.<br />
For example, if one intends to produce the following reports with SIRTUNER:<br />
<p class="code"><nowiki>REPORT STATE BLKN CHUNK 10<br />
REPORT STATE SWPG CHUNK 10<br />
</nowiki></p><br />
one can code the following COLLECT statement for <var class="product">SirTune</var>:<br />
<p class="code"><nowiki>COLLECT BLKN SWPG<br />
</nowiki></p><br />
This statement is functionally equivalent to<br />
<p class="code"><nowiki>COLLECT BLKIN BLKON SWPGOBN SWPGOBU SWPGOW SWPGI<br />
</nowiki></p><br />
<br />
In general, if running a relatively small ONLINE (an average of<br />
less than 20 logged on users)<br />
<p class="code"><nowiki>COLLECT ALL<br />
</nowiki></p><br />
should not produce a prohibitively large amount of data and<br />
makes all reports possible.<br />
If running a midsize to large<br />
ONLINE (an average 20+ logged on users), the following<br />
<p class="code"><nowiki>COLLECT ALLN BLKIU SWPGOBU<br />
</nowiki></p><br />
should collect a sufficient quantity of data to produce most<br />
interesting STATE reports without generating a prohibitively large<br />
sample dataset.<br />
<br />
<div id="rungms"></div><br />
==The RUNGM and RUNGS states==<br />
<!--Caution: <div> above--><br />
<br />
When running the MP/204 feature with <var class="product">Model 204</var> a user that is<br />
in state RUNG can be further distinguished to be either running<br />
in maintask mode (RUNGM) or subtask mode (RUNGS) for the purposes of reporting.<br />
For example, the SIRTUNER statements<br />
<p class="code"><nowiki>REPORT STATE RUNGM EVAL<br />
REPORT STATE RUNGS EVAL<br />
</nowiki></p><br />
generate two reports.<br />
The first is a breakdown of users running in maintask<br />
mode by evaluating procedure and the second is a breakdown of users running<br />
in subtask mode by evaluating procedure.<br />
Maintask mode is often referred to as "serial" mode, and subtask mode is often<br />
referred to as "parallel" mode.<br />
The total observations for state RUNG in any sample is always equal to the<br />
total observations for state RUNGM plus the total observations for state RUNGS.<br />
<br />
The distinction between maintask and subtask mode can be made either on the<br />
basis of the task on which a user is running (maintask or subtask), or on its<br />
virtual (or logical) MP mode (that is, whether it is capable of running in<br />
a subtask or not).<br />
The default distinction is made on the basis of the<br />
actual task on which a user is running.<br />
This can be changed with the SIRTUNER MPVIRT statement.<br />
This is generally the preferred setting when using<br />
the REPORT STATE RUNGM report to try to reduce the amount of maintask (serial)<br />
User Language code.<br />
<br />
==Wait types==<br />
Users in state BLK (blocked on anything), always have a wait type<br />
associated with them.<br />
These wait types are the same wait types that appear<br />
next to the users in a <var class="product">Model 204</var> MONITOR command or in the SIRMON WAITTYP statistic.<br />
STATE reports can be requested by these wait types.<br />
To produce these STATE reports by wait type, COLLECT statements (collecting<br />
data for all states in which a wait type might occur) must be added to <var class="product">SirTune</var>'s input stream (SIRTUNEI).<br />
<br />
For example, disk I/O wait types are not swappable, so it is only necessary to collect<br />
state BLKIN to produce a REPORT STATE WDISK report.<br />
Since critical file resource waits are swappable, states BLKIN, BLKON, and SWPGOBN must all<br />
be collected to produce a REPORT STATE WCFREX report.<br />
<br />
The available wait type reports along with the corresponding <var class="product">Model 204</var> wait type number, a description of the wait type, and the required states to be collected<br />
are listed here:<br />
<table class="thJustBold"><br />
<tr><th>WMISC</th><td>0 - Miscellaneous waits. Requires BLKN.</td></tr><br />
<tr><th>WDISK</th><td>1 - Wait for disk I/O. Requires BLKIN.</td></tr><br />
<tr><th>WUSERO</th><td>2 - Wait for user output. Requires BLKU.</td></tr><br />
<tr><th>WUSERI</th><td>3 - Wait for user input. Requires BLKU.</td></tr><br />
<tr><th>WOPERI</th><td>4 - Wait for operator input. Requires BLKU.</td></tr><br />
<tr><th>WDUMPO</th><td>5 - Wait for dump write. Requires BLKIN.</td></tr><br />
<tr><th>WDUMPI</th><td>6 - Wait for restore read. Requires BLKIN.</td></tr><br />
<tr><th>WENQUE</th><td>7 - Wait for miscellaneous enqueue. Requires BLKN.</td></tr><br />
<tr><th>WBUFF</th><td>8 - Wait for disk buffer. Requires BLKIN.</td></tr><br />
<tr><th>WPST</th><td>10 - Wait on PST. Requires BLKN.</td></tr><br />
<tr><th>WIFAM</th><td>11 - IFAM waits. Requires BLKN.</td></tr><br />
<tr><th>WSLEEP</th><td>12 - Waits for a time interval, including PAUSE and SLEEP statements. Requires BLKN.</td></tr><br />
<tr><th>WJRNLO</th><td>15 - Wait for journal output. Requires BLKIN.</td></tr><br />
<tr><th>WCHKPO</th><td>16 - Wait for checkpoint output. Requires BLKIN.</td></tr><br />
<tr><th>WWRITE</th><td>17 - Wait for a checkpoint DECB. Requires BLKIN.</td></tr><br />
<tr><th>WARBMO</th><td>18 - Waits for output arbitration. Requires BLKN.</td></tr><br />
<tr><th>WCHKPR</th><td>19 - Waits for a checkpoint request. Requires WPST.</td></tr><br />
<tr><th>WDISK</th><td>20 - Waits for checkpoint completion. Requires BLKIN.</td></tr><br />
<tr><th>WDEAD</th><td>21 - Wait forever (dead thread). Requires BLKU.</td></tr><br />
<tr><th>WVSAMI</th><td>22 - Wait for VSAM input. Requires BLKN.</td></tr><br />
<tr><th>WLOGIN</th><td>23 - Wait after login failure. Requires BLKN.</td></tr><br />
<tr><th>WCFREX</th><td>24 - Wait for critical file resource in exclusive mode. Requires BLKN.</td></tr><br />
<tr><th>WCFRSH</th><td>25 - Wait for critical file resource in share mode. Requires BLKN.</td></tr><br />
<tr><th>WVTBUF</th><td>26 - Wait for VTAM buffer. Requires BLKN.</td></tr><br />
<tr><th>WCONVI</th><td>27 - Wait for inter-process input. Requires BLKN.</td></tr><br />
<tr><th>WCONVO</th><td>28 - Wait for inter-process output. Requires BLKN.</td></tr><br />
<tr><th>WSCTYI</th><td>29 - Wait for security interface. Requires BLKN.</td></tr><br />
<tr><th>WS$WAI</th><td>30 - Swappable $WAIT call. Requires BLKN.</td></tr><br />
<tr><th>WN$WAI</th><td>31 - Non-swappable $WAIT call. Requires BLKIN.</td></tr><br />
<tr><th>WULDB2</th><td>32 - Wait for DB2 subtask. Requires BLKN.</td></tr><br />
</table><br />
<br />
Thus to produce a breakdown of disk I/O waits by evaluating procedure<br />
and by individual lines within the procedures, code the following in SIRTUNEI:<br />
<br />
<p class="code"><nowiki>REPORT STATE WDISK EVAL CHUNK 4<br />
</nowiki></p><br />
<br />
To get a breakdown of waits for miscellaneous enqueues (including record<br />
locks) by evaluating procedure and by individual lines within the procedures,<br />
code the following in SIRTUNEI:<br />
<p class="code"><nowiki>REPORT STATE WENQUE EVAL CHUNK 4<br />
</nowiki></p><br />
<br />
In addition to these primary wait types, there are a few composite wait<br />
types for which reports can be generated.<br />
These composite wait types, their component primary wait types, and a description of what the composite wait types measure are listed here:<br />
<table class="thJustBold"><br />
<tr><th>WCFR</th><td>This is made up of WCFREX and WCFRSH. It measures all waits on critical file resources whether for exclusive or share control.</td></tr><br />
<br />
<tr><th>WLOG</th><br />
<td>This is made up of WJRNLO, WCHKPO, WWRITE, and WARBMO. It measures all waits on activities associated with logging for <var class="product">Model 204</var> recovery, that is, all checkpoint and journal I/O related waits.</td></tr><br />
</table><br />
<br />
To get a breakdown of waits for critical file resources<br />
by evaluating procedure and by individual lines with the procedures,<br />
code the following in SIRTUNEI:<br />
<p class="code"><nowiki>REPORT STATE WCFR EVAL CHUNK 4<br />
</nowiki></p><br />
<br />
==Critical file resource states==<br />
<p><br />
Critical file resources are used by <var class="product">Model 204</var> to provide multi-user<br />
concurrency control on a file level. This control mechanism will sometimes<br />
exacerbate some other performance bottleneck.<br />
A high value for number of users per sample with wait types CFREX and CFRSH in the<br />
SUMMARY report suggests that critical file resource enqueuing bears closer examination.</p><br />
<br />
There are four different critical file resources:<br />
<table class="thJustBold"><br />
<tr><th>DIRECT</th><td>Protects table B updates and accesses.</td></tr><br />
<tr><th>INDEX</th><td>Protects accesses and updates of table C and the ordered index.</td></tr><br />
<tr><th>EXISTS</th><td>Protects accesses and updates of the existence bit map.</td></tr><br />
<tr><th>RECENQ</th><td>Protects accesses and updates of the record enqueuing table. This is the only critical file resource that can be eliminated by the use of the FIND WITHOUT LOCKS User Language statement.</td></tr><br />
</table><br />
<br />
A first step to investigating a critical file resource enqueueing problem<br />
is to produce reports for STATE WCFR.<br />
This will help isolate the programs or lines of code that encounter frequent or long critical file<br />
resource waits.<br />
Probably the most useful report would be produced by this statement:<br />
<p class="code"><nowiki>REPORT STATE WCFR CHUNK 4<br />
</nowiki></p><br />
<br />
This will break down critical file resource waits by individual lines of<br />
User Language code. Unfortunately, the problem with this type of analysis<br />
is that it focuses on the "victims" of critical file resource waits rather<br />
than the "culprits," the lines of code holding critical file resources causing other users to wait.<br />
While in some situations, the lines of code causing the critical file resource waits are the same lines that suffer from the waits, there is no way to be certain from the STATE WCFR report that this is indeed the case.<br />
<br />
To determine the actual cause of critical file resource enqueuing, more data<br />
needs to be collected by the <var class="product">SirTune</var> data collector.<br />
To have this additional data collected, simply specify the parameter CFR on a COLLECT statement for<br />
<var class="product">SirTune</var>. This parameter can be specified alone or with other COLLECT parameters as in this statement:<br />
<p class="code"><nowiki>COLLECT BLKN DISKIO CFR<br />
</nowiki></p><br />
<br />
After this additional CFR (Critical File Resource) data is collected,<br />
SIRTUNER is able to produce several additional reports to help isolate the<br />
cause of critical file resource enqueuing.<br />
The first report that might be useful is the CFRROOT report.<br />
This report indicates the base wait types that are behind critical file resource waits.<br />
The CFRROOT report does not provide<br />
information on which lines of code cause critical file resource waits, so it<br />
is not helpful for application tuning.<br />
<br />
The CFRROOT report might indicate that<br />
application tuning (rather than system tuning) might be required to reduce<br />
critical file resource enqueuing.<br />
This would be indicated by a primary root cause<br />
of DISK (disk I/O waits) or maybe JRNLO (journal I/O waits).<br />
<br />
You can attack a primary root cause for critical file resource waits<br />
either by trying to reduce overall disk I/O's or journal I/O's (with application<br />
tuning), or by specifically targeting those instructions that hold critical file<br />
resources.<br />
<br />
To facilitate this latter option, several CFR states can be requested<br />
on SIRTUNER reports if CFR data had been collected by <var class="product">SirTune</var>.<br />
These states are:<br />
<table class="thJustBold"><br />
<tr><th>CFRHANY</th><br />
<td>The state where a user holds any critical file resource.</td></tr><br />
<br />
<tr><th>CFRHDIR</th><br />
<td>The state where a user holds the <code>DIRECT</code> critical file resource.</td></tr><br />
<br />
<tr><th>CFRHIND</th><br />
<td>The state where a user holds the <code>INDEX</code> critical file resource.</td></tr><br />
<br />
<tr><th>CFRHEXS</th><br />
<td>The state where a user holds the <code>EXISTS</code> critical file resource.</td></tr><br />
<br />
<tr><th>CFRHREC</th><br />
<td>The state where a user holds the <code>RECENQ</code> critical file resource.</td></tr><br />
<br />
<tr><th>CFRBANY</th><br />
<td>The state where a user holds any critical file resource and is preventing (blocking) another user from obtaining a critical file resource.</td></tr><br />
<br />
<tr><th>CFRBDIR</th><br />
<td>The state where a user holds the <code>DIRECT</code> critical file resource and is preventing (blocking) another user from obtaining the <code>DIRECT</code> resource.</td></tr><br />
<br />
<tr><th>CFRBIND</th><br />
<td>The state where a user holds the <code>INDEX</code> critical file resource and is preventing (blocking) another user from obtaining the <code>INDEX</code> resource.</td></tr><br />
<br />
<tr><th>CFRBEXS</th><br />
<td>The state where a user holds the <code>EXISTS</code> critical file resource and is preventing (blocking) another user from obtaining the <code>EXISTS</code> resource.</td></tr><br />
<br />
<tr><th>CFRBREC</th><br />
<td>The state where a user holds the <code>RECENQ</code> critical file resource and is preventing (blocking) an other user from obtaining the <code>RECENQ</code> resource.</td></tr><br />
</table><br />
<br />
It should be noted that the CFRB??? states are weighted based on the number of<br />
other users holding the resource and the number of users waiting for the resource.<br />
For example, if a user at a line of code holds the DIRECT resource and 3 other<br />
users are waiting for the resource, that line of code is considered to have 3<br />
observations in the CFRBDIR state.<br />
<br />
On the other hand, if a user at a line of code<br />
holds the DIRECT resource (in share mode) along with 4 other users, and a<br />
single user is waiting for the DIRECT resource, the line of code is<br />
considered to have 1/5th of an observation in the CFRBDIR state.<br />
<br />
Generally, the most useful reports for reducing critical file resource waits<br />
are the CFRB reports. This statement:<br />
<p class="code"><nowiki>REPORT STATE CFRBANY CHUNK 4<br />
</nowiki></p><br />
will break down the state where a user is blocking another user from any critical<br />
file resource by lines of User Language code.<br />
This is probably the most useful of the STATE CFR???? reports.<br />
Once critical file resource blocking is isolated<br />
to specific User Language instructions, critical file resource enqueuing can be<br />
reduced by:<br />
<ul><br />
<li>Reducing the number of times the offending instructions are executed.</li><br />
<li>Reducing the amount of disk I/O performed by the offending instructions.</li><br />
<li>Reducing the amount of CPU used by the offending instructions.</li><br />
</ul><br />
<br />
It might be tempting to use the FIND WITHOUT LOCKS User Language statement to<br />
reduce the critical file resource enqueuing associated with a statement.<br />
This will only work if the resource causing conflicts is the RECENQ resource.<br />
All other critical file resources are processed exactly the same way,<br />
whether or not a locked record set is being used.<br />
<br />
However, if the resource causing the conflict is indeed the RECENQ<br />
resource, it is still <i>not</i> recommended that the solution be<br />
FIND WITHOUT LOCKS.<br />
A high conflict rate on the RECENQ resource indicates that the<br />
environment has a high update activity level, which means that operating on<br />
unenqueued found sets is a questionable tactic at best.<br />
A high conflict rate on the RECENQ resource might suggest examination of strategies for releasing<br />
found sets before any terminal I/O occurs.<br />
<br />
The CFRH??? reports can be useful for tracking potential critical file resource<br />
enqueuing problems (perhaps in a test environment) before they actually happen.<br />
These states include any user that holds a critical file resource, whether<br />
or not it is blocking anyone.<br />
These reports are difficult to interpret, however,<br />
since they require a fairly good estimate of expected future usage patterns<br />
to have any predictive value.<br />
<br />
==See also==<br />
{{Template:SirTune topic list}}<br />
<br />
[[Category: SirTune]]</div>JAL