SirTune MODIFY and SMSG commands: Difference between revisions

From m204wiki
Jump to navigation Jump to search
m (more conversion cleanup)
m (link repair)
 
(2 intermediate revisions by 2 users not shown)
Line 5: Line 5:


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 job is running.
job is running.
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 data collection statements]].


Under MVS, these commands can be issued via the MODIFY operator command.
Under MVS, these commands can be issued via the <code>MODIFY</code> operator 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.
Line 24: Line 23:
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 <code>SMSG</code> 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">SMSG PRODONLN STATUS
</nowiki></p>
</p>
or:
or:
<p class="code"><nowiki>CP SMSG PRODONLN STATUS
<p class="code">CP SMSG PRODONLN STATUS
</nowiki></p>
</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&nbsp;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.
Line 40: Line 38:


==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&nbsp;204</var> <var>[[BUMP command|BUMP]]</var> command against the indicated user number.
<var class="product">Model 204</var> 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.
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:
To "bump" user number 18, issue this command:
<p class="code"><nowiki>BUMP 18
<p class="code">BUMP 18
</nowiki></p>
</p>


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.
Unlike the <var class="product">Model&nbsp;204</var> <var>BUMP</var> command, the <var class="product">SirTune</var> BUMP command accepts only a single user number, and it does not accept user IDs 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 <code>MONITOR</code> command.
MONITOR command.
It is recommended that the MONITOR command be issued
It is recommended that the MONITOR command be issued
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&nbsp;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 data set. 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>.
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>.
This command has no effect on sampling activity in the <var class="product">Model&nbsp;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&nbsp;204</var>. This command is especially useful
currently happening in <var class="product">Model 204</var>
if <var class="product">Model&nbsp;204</var> appears to be hung or looping and, hence, it is impossible
This command is especially useful
to log on to <var class="product">Model&nbsp;204</var> to determine the cause of the problem.
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.


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&nbsp;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 indicates whether each task is running or waiting (corresponding to looping and hung situations respectively), and where in the <var class="product">Model&nbsp;204</var>
The information returned 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>
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&nbsp;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 user ID 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. This information can be used to determine whether
currently running. This information can be used to determine whether
Line 88: Line 76:


==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
RESTART should be used only as a last resort when a <var class="product">Model&nbsp;204</var> ONLINE is looping or hung, and all efforts to clear up the situation have failed (see the [[#BUMP user_num|BUMP command]]). 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.
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).
 
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.
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.</li>
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
eliminating the need to run recovery.
eliminating the need to run recovery.
Cancelling or forcing the ONLINE ensure that any files
Cancelling or forcing the ONLINE ensures that:
with active updating transactions will be left broken and that recovery will have
<ul>
to be run before the ONLINE can be used again. </li>
<li>Any files with active updating transactions will be left broken.</li>


<li>The RESTART command will generally result in a CCASNAP being taken rather
<li>Recovery will have to be run before the ONLINE can be used again. </li>
</ul></li>
 
<li>The RESTART command will generally result in a [[Storing diagnostic information (CCASNAP)|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 easier to deal with than other types of dumps. </li>
CCASNAPs are generally easier to deal with than other types of dumps. </li>
</ul>
</ul>


The <i>abend_code</i> value must be a 1- to 3-digit hexadecimal code that
The <var class="term">abend_code</var> 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 the abend code must be between 0C1 and 0CF.
Under CMS 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.
When a user number is specified on the RESTART
When a user number is specified on the RESTART
command, no simulated abend will occur if the indicated user is not running in
command, no simulated abend will occur if the indicated user is not running in the ONLINE.
the ONLINE.
For example, the following RESTART simulates a 0C4 abend if user 23 is running.
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.
If user 23 is not running, no abend will be simulated.
<p class="code"><nowiki>RESTART 0C4 USER 23
<p class="code">RESTART 0C4 USER 23
</nowiki></p>
</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.
Unless running MP/204, the task number must be specified as 0.
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)
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.
or the subtask number (from 1 to <var>[[NMPSUBS parameter|NMPSUBS]]</var>) to be restarted.
For example, the following RESTART simulates a 0A9 abend on the <var class="product">Model 204</var> maintask:
For example, the following RESTART simulates a 0A9 abend on the <var class="product">Model&nbsp;204</var> maintask:
<p class="code"><nowiki>RESTART 0A9 TASK 0
<p class="code">RESTART 0A9 TASK 0
</nowiki></p>
</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.
<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.
</p>
</p>


==SAMPLE  ON | OFF | AUTO==
==SAMPLE  ON | OFF | AUTO==
This command either places sampling back into automatic mode (SAMPLE AUTO),
This command does one of the following:
where sampling is controlled by INCLUDE/EXCLUDE statements in SIRTUNEI, or it
<ul>
initiates (SAMPLE ON) or terminates (SAMPLE OFF) collection of sample data.
<li>Places sampling back into automatic mode (<code>SAMPLE AUTO</code>), where sampling is controlled by INCLUDE/EXCLUDE statements in SIRTUNEI.
This command has no effect on the collection of compilation data: Compilation
 
data is collected regardless of the sampling state.
<li>Initiates (<code>SAMPLE ON</code>) or terminates (<code>SAMPLE OFF</code>) collection of sample data.</li>
</ul>


For example, to immediately start collecting data, the following command
This command has no effect on the collection of compilation data: Compilation data is collected regardless of the sampling state.
should be issued:
 
<p class="code"><nowiki>SAMPLE ON
For example, to immediately start collecting data, issue the following command:
</nowiki></p>
<p class="code">SAMPLE ON
</p>
To immediately stop collecting data, issue:
To immediately stop collecting data, issue:
<p class="code"><nowiki>SAMPLE OFF
<p class="code">SAMPLE OFF
</nowiki></p>
</p>


After a SAMPLE ON or SAMPLE OFF command is issued, <var class="product">SirTune</var>
After a <code>SAMPLE ON</code> or <code>SAMPLE OFF</code> 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
 
sampling mode (AUTO or MANUAL), the current sampling state
<var class="product">SirTune</var>'s response to this command indicates the current sampling mode (<code>AUTO</code> or <code>MANUAL</code>), the current sampling state
(ON or OFF), and the number of samples collected to this point.
(<code>ON</code> or <code>OFF</code>), and the number of samples collected to this point.


==STOP==
==STOP==
This command requests that <var class="product">SirTune</var> stop collecting both sampling
This command requests that <var class="product">SirTune</var> do both of these:
and compilation data and that it close the sample dataset.
<ul>
After this command is issued, sampling cannot be restarted for the run.
<li>Stop collecting both sampling and compilation data.</li>
Since the sample dataset is closed by a STOP command,
 
it is possible to use this dataset to generate reports after
<li>Close the sample data set.</li>
</ul>
 
After STOP is issued, sampling cannot be restarted for the run.
Since the sample data set is closed by a STOP command,
it is possible to use this data set to generate reports after
a STOP command, even while the ONLINE job continues to run.
a STOP command, even while the ONLINE job continues to run.



Latest revision as of 20:56, 8 August 2017


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 data collection 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 user IDs 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 data set. 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 user ID 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.

RESTART 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 ensures that:
    • Any files with active updating transactions will be left broken.
    • 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 does one of the following:

  • Places sampling back into automatic mode (SAMPLE AUTO), where sampling is controlled by INCLUDE/EXCLUDE statements in SIRTUNEI.
  • 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, issue the following command:

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 do both of these:

  • Stop collecting both sampling and compilation data.
  • Close the sample data set.

After STOP is issued, sampling cannot be restarted for the run. Since the sample data set is closed by a STOP command, it is possible to use this data set to generate reports after a STOP command, even while the ONLINE job continues to run.

See also