SirTune MODIFY and SMSG commands: Difference between revisions
m (1 revision: SirTune doc) |
m (more conversion cleanup) |
||
Line 3: | Line 3: | ||
You've been warned. .. (Page built by JAL at the SIRIUS VM; file: FUNPGNEW SYSUT2) --> | You've been warned. .. (Page built by JAL at the SIRIUS VM; file: FUNPGNEW SYSUT2) --> | ||
<!-- Page name: SirTune MODIFY and SMSG commands--> | <!-- Page name: SirTune MODIFY and SMSG commands--> | ||
Users outside the <var class="product">Model 204</var> or SIRTUNE/<var class="product">Model 204</var> address space can be authorized | Users outside the <var class="product">Model 204</var> or SIRTUNE/<var class="product">Model 204</var> address space can be authorized | ||
to issue certain commands to <var class="product">SirTune</var> while the ONLINE | to issue certain commands to <var class="product">SirTune</var> while the ONLINE | ||
Line 9: | Line 9: | ||
Users can be authorized to do this with <var class="product">SirTune</var>'s AUTHORIZE command. | Users can be authorized to do this with <var class="product">SirTune</var>'s AUTHORIZE command. | ||
For more information on the AUTHORIZE command, see [[SirTune configuration statements]]. | For more information on the AUTHORIZE command, see [[SirTune configuration statements]]. | ||
Under MVS, these commands can be issued via the MODIFY operator | Under MVS, these commands can be issued via the MODIFY operator command. | ||
command. | |||
This command can be issued at an operator console or | This command can be issued at an operator console or | ||
under SDSF or an equivalent virtual console system. | under SDSF or an equivalent virtual console system. | ||
For example, | For example, to issue the STATUS command to <var class="product">SirTune</var> running under job | ||
to issue the STATUS command to <var class="product">SirTune</var> running under job | <code>PRODONLN</code> under SDSF's LOG screen, you can simply enter: | ||
PRODONLN under SDSF's LOG screen, you can simply enter | |||
<p class="code"><nowiki>/MODIFY PRODONLN,STATUS | <p class="code"><nowiki>/MODIFY PRODONLN,STATUS | ||
</nowiki></p> | </nowiki></p> | ||
or | or: | ||
<p class="code"><nowiki>/F PRODONLN,STATUS | <p class="code"><nowiki>/F PRODONLN,STATUS | ||
</nowiki></p> | </nowiki></p> | ||
Responses to MODIFY commands go to the system log and should | Responses to MODIFY commands go to the system log and should | ||
be viewable under SDSF. | be viewable under SDSF. | ||
Under CMS, these commands can be issued via the SMSG CP command. | Under CMS, these commands can be issued via the SMSG CP command. | ||
For example, to issue the STATUS command to <var class="product">SirTune</var> running on | For example, to issue the STATUS command to <var class="product">SirTune</var> running on | ||
a virtual machine named PRODONLN, you can enter | a virtual machine named PRODONLN, you can enter: | ||
<p class="code"><nowiki>SMSG PRODONLN STATUS | <p class="code"><nowiki>SMSG PRODONLN STATUS | ||
</nowiki></p> | </nowiki></p> | ||
or | or: | ||
<p class="code"><nowiki>CP SMSG PRODONLN STATUS | <p class="code"><nowiki>CP SMSG PRODONLN STATUS | ||
</nowiki></p> | </nowiki></p> | ||
Responses to SMSG commands are sent via MSGNOH, if the <var class="product">SirTune</var>/<var class="product">Model 204</var> service | |||
machine is authorized to use MSGNOH, and they are sent via MSG otherwise. | Responses to SMSG commands are sent via MSGNOH, if the <var class="product">SirTune</var>/<var class="product">Model 204</var> service machine is authorized to use MSGNOH, and they are sent via MSG otherwise. | ||
Available MODIFY/SMSG commands are listed here. | Available MODIFY/SMSG commands are listed here. | ||
Optional statement parameters are enclosed in brackets (< | Optional statement parameters are enclosed in brackets (<tt>[</tt><tt>]</tt>). | ||
Alternatives are separated with a vertical line (< | Alternatives are separated with a vertical line (<tt>|</tt>). | ||
==BUMP user_num== | ==BUMP user_num== | ||
This command requests that <var class="product">SirTune</var> issue the equivalent of the | This command requests that <var class="product">SirTune</var> issue the equivalent of the | ||
<var class="product">Model 204</var> BUMP command against the indicated user number. | <var class="product">Model 204</var> BUMP command against the indicated user number. | ||
This command | This command is useful if a high priority user is looping in an ONLINE, making it | ||
is useful if a high priority user is looping in an ONLINE, making it | |||
impossible for anyone else to do anything. | impossible for anyone else to do anything. | ||
To "bump" user number 18, issue this command: | To "bump" user number 18, issue this command: | ||
<p class="code"><nowiki>BUMP 18 | <p class="code"><nowiki>BUMP 18 | ||
</nowiki></p> | </nowiki></p> | ||
Unlike the <var class="product">Model 204</var> BUMP command, the <var class="product">SirTune</var> BUMP command | Unlike the <var class="product">Model 204</var> BUMP command, the <var class="product">SirTune</var> BUMP command accepts only a single user number, and it does not accept userids or file names. | ||
accepts only a single user number, and it does not accept userids or file names. | |||
To determine the user number of the running user, issue <var class="product">SirTune</var>'s | To determine the user number of the running user, issue <var class="product">SirTune</var>'s | ||
MONITOR command. | MONITOR command. | ||
Line 57: | Line 54: | ||
several times to ensure that a single user is indeed looping and | several times to ensure that a single user is indeed looping and | ||
that a performance problem is not simply the result of excess demand. | that a performance problem is not simply the result of excess demand. | ||
If a loop situation is caused by a <var class="product">Model 204</var> bug, it is possible that | If a loop situation is caused by a <var class="product">Model 204</var> bug, it is possible that | ||
a BUMP command will fail to force the looping user off the system. | a BUMP command will fail to force the looping user off the system. | ||
In this case, it might be necessary to issue the RESTART command to | In this case, it might be necessary to issue the RESTART command to | ||
break the loop. | break the loop. | ||
==CLOSE== | ==CLOSE== | ||
This command requests that <var class="product">SirTune</var> close the sample dataset. | This command requests that <var class="product">SirTune</var> close the sample dataset. | ||
This makes it possible to run the report generator against a sample data | This makes it possible to run the report generator against a sample data | ||
set that is still being updated by <var class="product">SirTune</var>. | set that is still being updated by <var class="product">SirTune</var>. | ||
This command has no effect on sampling activity in the <var class="product">Model 204</var> address space. | This command has no effect on sampling activity in the <var class="product">Model 204</var> address space. | ||
==MONITOR== | ==MONITOR== | ||
This command requests that <var class="product">SirTune</var> return information about what is | This command requests that <var class="product">SirTune</var> return information about what is | ||
currently happening in <var class="product">Model 204</var> | currently happening in <var class="product">Model 204</var> | ||
Line 75: | Line 72: | ||
if <var class="product">Model 204</var> appears to be hung or looping and, hence, it is impossible | if <var class="product">Model 204</var> appears to be hung or looping and, hence, it is impossible | ||
to log on to <var class="product">Model 204</var> to determine the cause of the problem. | to log on to <var class="product">Model 204</var> to determine the cause of the problem. | ||
Information is returned for the main <var class="product">Model 204</var> task and any | Information is returned for the main <var class="product">Model 204</var> task and any | ||
subtasks (if the MP/204 feature is being used). | subtasks (if the MP/204 feature is being used). | ||
The information returned | The information returned indicates whether each task is running or waiting (corresponding to | ||
indicates whether each task is running or waiting (corresponding to | |||
looping and hung situations respectively) and where in the <var class="product">Model 204</var> | looping and hung situations respectively) and where in the <var class="product">Model 204</var> | ||
load module the task is running or waiting. | load module the task is running or waiting. | ||
This latter piece of information | This latter piece of information | ||
is most useful to <var class="product">Model 204</var> internals experts. | is most useful to <var class="product">Model 204</var> internals experts. | ||
If any <var class="product">Model 204</var> task is indicated as running, information is also provided | If any <var class="product">Model 204</var> task is indicated as running, information is also provided | ||
on the user number and userid of the running user, the current activity | on the user number and userid of the running user, the current activity | ||
(evaluating, compiling, etc.), and the name of the procedure that is | (evaluating, compiling, etc.), and the name of the procedure that is | ||
currently running. | currently running. This information can be used to determine whether | ||
This information can be used to determine whether | |||
a BUMP or RESTART command should be issued. | a BUMP or RESTART command should be issued. | ||
==RESTART abend_code USER user_num | TASK task_num== | ==RESTART abend_code USER user_num | TASK task_num== | ||
This command requests that <var class="product">SirTune</var> issue the equivalent of a user abend | This command requests that <var class="product">SirTune</var> issue the equivalent of a user abend | ||
in <var class="product">Model 204</var> for the indicated user or task. | in <var class="product">Model 204</var> for the indicated user or task. | ||
This command should be | This command should be | ||
used only as a last resort when a <var class="product">Model 204</var> ONLINE is looping or hung and all | used only as a last resort when a <var class="product">Model 204</var> ONLINE is looping or hung and all efforts to clear up the situation have failed (see the BUMP command). | ||
efforts to clear up the situation have failed (see the BUMP command). | In this situation, the only options left are to cancel (FORCE under CMS) the run or | ||
In this | |||
situation, the only options left are to cancel (FORCE under CMS) the run or | |||
to issue <var class="product">SirTune</var>'s RESTART command. | to issue <var class="product">SirTune</var>'s RESTART command. | ||
The RESTART command is preferable because: | The RESTART command is preferable because: | ||
<ul> | <ul> | ||
<li>The ONLINE might intercept the abend, possibly take a snap dump, and then | <li>The ONLINE might intercept the abend, possibly take a snap dump, and then | ||
continue running. | continue running.</li> | ||
<li>Even if the ONLINE does not continue, it might at least intercept the abend | <li>Even if the ONLINE does not continue, it might at least intercept the abend | ||
and terminate "cleanly," preventing files from being broken and | and terminate "cleanly," preventing files from being broken and | ||
Line 110: | Line 104: | ||
Cancelling or forcing the ONLINE ensure that any files | Cancelling or forcing the ONLINE ensure that any files | ||
with active updating transactions will be left broken and that recovery will have | with active updating transactions will be left broken and that recovery will have | ||
to be run before the ONLINE can be used again. | to be run before the ONLINE can be used again. </li> | ||
<li>The RESTART command will generally result in a CCASNAP being taken rather | <li>The RESTART command will generally result in a CCASNAP being taken rather | ||
than (or in addition to) a SYSMDUMP, SYSUDUMP, or VMDUMP. | than (or in addition to) a SYSMDUMP, SYSUDUMP, or VMDUMP. | ||
CCASNAPs are generally | CCASNAPs are generally easier to deal with than other types of dumps. </li> | ||
easier to deal with than other types of dumps. | |||
</ul> | </ul> | ||
The <i>abend_code</i> value must be a 1- to 3-digit hexadecimal code that | The <i>abend_code</i> value must be a 1- to 3-digit hexadecimal code that | ||
indicates the abend code to be used for the artificially generated abend. | indicates the abend code to be used for the artificially generated abend. | ||
Under CMS | Under CMS the abend code must be between 0C1 and 0CF. | ||
the abend code must be between 0C1 and 0CF. | |||
Any dumps will indicate the specified abend code. | Any dumps will indicate the specified abend code. | ||
It is important to inform support personnel examining | It is important to inform support personnel examining | ||
the dump that the abend code was artificially generated by <var class="product">SirTune</var> and that | the dump that the abend code was artificially generated by <var class="product">SirTune</var> and that | ||
the situation was actually a hung or looping ONLINE. | the situation was actually a hung or looping ONLINE. | ||
To prevent accidentally terminating a user or an ONLINE, a user number can be | To prevent accidentally terminating a user or an ONLINE, a user number can be | ||
specified on the restart command. | specified on the restart command. | ||
Line 135: | Line 128: | ||
<p class="code"><nowiki>RESTART 0C4 USER 23 | <p class="code"><nowiki>RESTART 0C4 USER 23 | ||
</nowiki></p> | </nowiki></p> | ||
If no user is running (a hung ONLINE), it might be necessary to issue the RESTART | If no user is running (a hung ONLINE), it might be necessary to issue the RESTART | ||
command with a task number instead. | command with a task number instead. | ||
Line 144: | Line 137: | ||
<p class="code"><nowiki>RESTART 0A9 TASK 0 | <p class="code"><nowiki>RESTART 0A9 TASK 0 | ||
</nowiki></p> | </nowiki></p> | ||
< | <p class="note"><b>Note:</b> It is almost always preferable to specify a user number on the RESTART command rather than a task number. | ||
preferable to specify a user number on the RESTART command rather than a task number. | </p> | ||
</ | |||
==SAMPLE ON | OFF | AUTO== | ==SAMPLE ON | OFF | AUTO== | ||
This command either places sampling back into automatic mode (SAMPLE AUTO), | This command either places sampling back into automatic mode (SAMPLE AUTO), | ||
where sampling is controlled by INCLUDE/EXCLUDE statements in SIRTUNEI, or it | where sampling is controlled by INCLUDE/EXCLUDE statements in SIRTUNEI, or it | ||
Line 154: | Line 146: | ||
This command has no effect on the collection of compilation data: Compilation | This command has no effect on the collection of compilation data: Compilation | ||
data is collected regardless of the sampling state. | data is collected regardless of the sampling state. | ||
For example, to immediately start collecting data, the following command | For example, to immediately start collecting data, the following command | ||
should be issued: | should be issued: | ||
Line 162: | Line 154: | ||
<p class="code"><nowiki>SAMPLE OFF | <p class="code"><nowiki>SAMPLE OFF | ||
</nowiki></p> | </nowiki></p> | ||
After a SAMPLE ON or SAMPLE OFF command is issued, <var class="product">SirTune</var> | After a SAMPLE ON or SAMPLE OFF command is issued, <var class="product">SirTune</var> | ||
is in "manual" sampling mode. | is in "manual" sampling mode. | ||
==STATUS== | ==STATUS== | ||
This command requests the current sampling status of <var class="product">SirTune</var>. | This command requests the current sampling status of <var class="product">SirTune</var>. | ||
<var class="product">SirTune</var>'s response to this command indicates the current | <var class="product">SirTune</var>'s response to this command indicates the current | ||
Line 174: | Line 165: | ||
==STOP== | ==STOP== | ||
This command requests that <var class="product">SirTune</var> stop collecting both sampling | This command requests that <var class="product">SirTune</var> stop collecting both sampling | ||
and compilation data and that it close the sample dataset. | and compilation data and that it close the sample dataset. |
Revision as of 00:09, 3 July 2015
Users outside the Model 204 or SIRTUNE/Model 204 address space can be authorized
to issue certain commands to SirTune while the ONLINE
job is running.
Users can be authorized to do this with SirTune's AUTHORIZE command.
For more information on the AUTHORIZE command, see SirTune configuration statements.
Under MVS, these commands can be issued via the MODIFY operator command.
This command can be issued at an operator console or
under SDSF or an equivalent virtual console system.
For example, to issue the STATUS command to SirTune running under job
PRODONLN
under SDSF's LOG screen, you can simply enter:
/MODIFY PRODONLN,STATUS
or:
/F PRODONLN,STATUS
Responses to MODIFY commands go to the system log and should be viewable under SDSF.
Under CMS, these commands can be issued via the SMSG CP command. For example, to issue the STATUS command to SirTune running on a virtual machine named PRODONLN, you can enter:
SMSG PRODONLN STATUS
or:
CP SMSG PRODONLN STATUS
Responses to SMSG commands are sent via MSGNOH, if the SirTune/Model 204 service machine is authorized to use MSGNOH, and they are sent via MSG otherwise.
Available MODIFY/SMSG commands are listed here. Optional statement parameters are enclosed in brackets ([]). Alternatives are separated with a vertical line (|).
BUMP user_num
This command requests that SirTune issue the equivalent of the Model 204 BUMP command against the indicated user number. This command is useful if a high priority user is looping in an ONLINE, making it impossible for anyone else to do anything. To "bump" user number 18, issue this command:
BUMP 18
Unlike the Model 204 BUMP command, the SirTune BUMP command accepts only a single user number, and it does not accept userids or file names. To determine the user number of the running user, issue SirTune's MONITOR command. It is recommended that the MONITOR command be issued several times to ensure that a single user is indeed looping and that a performance problem is not simply the result of excess demand.
If a loop situation is caused by a Model 204 bug, it is possible that a BUMP command will fail to force the looping user off the system. In this case, it might be necessary to issue the RESTART command to break the loop.
CLOSE
This command requests that SirTune close the sample dataset. This makes it possible to run the report generator against a sample data set that is still being updated by SirTune. This command has no effect on sampling activity in the Model 204 address space.
MONITOR
This command requests that SirTune return information about what is currently happening in Model 204 This command is especially useful if Model 204 appears to be hung or looping and, hence, it is impossible to log on to Model 204 to determine the cause of the problem.
Information is returned for the main Model 204 task and any subtasks (if the MP/204 feature is being used). The information returned indicates whether each task is running or waiting (corresponding to looping and hung situations respectively) and where in the Model 204 load module the task is running or waiting. This latter piece of information is most useful to Model 204 internals experts.
If any Model 204 task is indicated as running, information is also provided on the user number and userid of the running user, the current activity (evaluating, compiling, etc.), and the name of the procedure that is currently running. This information can be used to determine whether a BUMP or RESTART command should be issued.
RESTART abend_code USER user_num | TASK task_num
This command requests that SirTune issue the equivalent of a user abend in Model 204 for the indicated user or task. This command should be used only as a last resort when a Model 204 ONLINE is looping or hung and all efforts to clear up the situation have failed (see the BUMP command). In this situation, the only options left are to cancel (FORCE under CMS) the run or to issue SirTune's RESTART command. The RESTART command is preferable because:
- The ONLINE might intercept the abend, possibly take a snap dump, and then continue running.
- Even if the ONLINE does not continue, it might at least intercept the abend and terminate "cleanly," preventing files from being broken and eliminating the need to run recovery. Cancelling or forcing the ONLINE ensure that any files with active updating transactions will be left broken and that recovery will have to be run before the ONLINE can be used again.
- The RESTART command will generally result in a CCASNAP being taken rather than (or in addition to) a SYSMDUMP, SYSUDUMP, or VMDUMP. CCASNAPs are generally easier to deal with than other types of dumps.
The abend_code value must be a 1- to 3-digit hexadecimal code that indicates the abend code to be used for the artificially generated abend. Under CMS the abend code must be between 0C1 and 0CF. Any dumps will indicate the specified abend code. It is important to inform support personnel examining the dump that the abend code was artificially generated by SirTune and that the situation was actually a hung or looping ONLINE.
To prevent accidentally terminating a user or an ONLINE, a user number can be specified on the restart command. When a user number is specified on the RESTART command, no simulated abend will occur if the indicated user is not running in the ONLINE. For example, the following RESTART simulates a 0C4 abend if user 23 is running. If user 23 is not running, no abend will be simulated.
RESTART 0C4 USER 23
If no user is running (a hung ONLINE), it might be necessary to issue the RESTART command with a task number instead. Unless running MP/204, the task number must be specified as 0. If MP/204 is running, the task number must be 0 (for the maintask) or the subtask number (from 1 to NMPSUBS) to be restarted. For example, the following RESTART simulates a 0A9 abend on the Model 204 maintask:
RESTART 0A9 TASK 0
Note: It is almost always preferable to specify a user number on the RESTART command rather than a task number.
SAMPLE ON | OFF | AUTO
This command either places sampling back into automatic mode (SAMPLE AUTO), where sampling is controlled by INCLUDE/EXCLUDE statements in SIRTUNEI, or it initiates (SAMPLE ON) or terminates (SAMPLE OFF) collection of sample data. This command has no effect on the collection of compilation data: Compilation data is collected regardless of the sampling state.
For example, to immediately start collecting data, the following command should be issued:
SAMPLE ON
To immediately stop collecting data, issue:
SAMPLE OFF
After a SAMPLE ON or SAMPLE OFF command is issued, SirTune is in "manual" sampling mode.
STATUS
This command requests the current sampling status of SirTune. SirTune's response to this command indicates the current sampling mode (AUTO or MANUAL), the current sampling state (ON or OFF), and the number of samples collected to this point.
STOP
This command requests that SirTune stop collecting both sampling and compilation data and that it close the sample dataset. After this command is issued, sampling cannot be restarted for the run. Since the sample dataset is closed by a STOP command, it is possible to use this dataset to generate reports after a STOP command, even while the ONLINE job continues to run.
See also
- SirTune introduction
- SirTune data collection under MVS
- SirTune data collection under CMS
- SirTune data collection statements
- SirTune MODIFY and SMSG commands
- SirTune report generation
- SirTune reports
- SirTune user states
- SirTune and Model 204 quad types
- SirTune statement wildcards
- SirTune date processing