MONCHKJCP – Disk I/O

An enhancement has been made to the MONCHKJCP (monitor jobs CPU usage) command to enable you to take actions against jobs that are not only using excessive amounts of CPU usage, but are also using excessive amounts of disk I/O.

The new parameter on the command is shown below:

When the test for system CPU has been satisfied, jobs will be held or their priority lowered when their disk I/O per second is more than the value you enter.

If the job’s CPU value is also specified, then both metrics must be exceeded for the job to be hindered.

MONCHKJCP – Within the Online Monitor

The ability to configure the MONCHKJCP command has now been added to the online module. In the past, you needed to schedule this command via a 5250 session, but it is now fully supported from within the monitor.

The example below shows the steps to set up the new definition:

 

The example above monitors for when the overall system CPU usage exceeds 75% for ten consecutive samples (we collect every 30 seconds, so this equates to 5 minutes) and also for when the selected jobs' CPU exceeds 5% for five consecutive samples.

The jobs being monitored are those starting with QZD* running in subsystem QSYSWRK. When triggered, the jobs run priorities are increased by 5 and warning messages are sent to the QSYSOPR message queue.

As well as being able to set the jobs up on the PC, QSystem Monitor also allows you to show the details of the monitor when jobs begin being hindered as shown below:

This example shows that eleven QZDASOINIT jobs were exceeding the rules and we can see that the run priority has been changed to 70 for each of the jobs.

Command Syntax

Start or End Job

Use *START to start the program running.

Use *ENDIMMED to end all instances of the program while leaving all jobs as they are.

Use *ENDRESTORE to end all instances of the program, but restore all hindered jobs before doing so.

System CPU to Invoke

Enter the percentage of system CPU that needs to be reached before the program will start hindering jobs. This parameter is used in conjunction with SYSINVCNT.

The CPU percentage is adjusted to account for the number of processors.

Number of Samples to Invoke

This parameter specifies the number of successive samples to consider when deciding whether to hinder jobs.

For instance, if you enter a 3 for this parameter and 75 for SYSCPUINV, the program starts looking at jobs when the system CPU is 75% or more on three successive samples.

System CPU to Release Jobs

Enter the system CPU level below which the program will consider restoring jobs.

The CPU percentage is adjusted to account for the number of processors.

This parameter is used in conjunction with SYSRLSCNT.

Sample Count to Release

This parameter specifies the number of successive samples to consider when deciding whether to restore jobs.

For instance, if you enter a 3 for this parameter and 40 for SYSCPURLS, the program considers restoring jobs when the system CPU is 40% or less on three successive samples.

Jobs are restored if their CPU usage is below the JOBCPUINV value.

Job CPU to be Held

When the test for system CPU has been satisfied, jobs are held or their priority lowered when their CPU usage is more than this figure.

Jobs are restored when their CPU usage falls below this figure or when the system CPU usage has fallen below the SYSCPURLS figure for SYSRLSCNT samples.

The CPU percentage is adjusted to account for the number of processors.

Number of Samples for Job

Specify the number of successive samples during which the job needs to exceed the specified CPU usage to be eligible to be hindered.

Number of Times to Release Job

Enter the maximum number of times the program should restore a job automatically. Once this limit is exceeded, a message is issued to the urgent notification queue, and the job will not be restored automatically again.

The counters used to control this function are reset if the job is manually restored.

Enter *NEVER for this parameter if you would prefer to release or restore jobs manually.

Check Interval (Seconds)

Enter the number of seconds between system checks. This should normally be the interval between full data collections for the monitor; that is, the CPU Monitoring Interval, times the Other Elements Monitoring values.

Programs to Include

Jobs that have the specified program in their stack, or shown as their function on WRKACTJOB, are included.

Generics may be specified for this parameter.

Programs to Exclude

Jobs that have the specified program in their stack, or shown as their function on WRKACTJOB, are excluded.

Generics may be specified for this parameter.

This test is applied after the include test.

Users to Include

Jobs that have the specified user name as part of the job name are included.

Generics may be specified for this parameter.

Users to Exclude

Jobs that have the specified user name as part of the job name are excluded.

Generics may be specified for this parameter.

This test is applied after the include test.

Subsystems to Include

Jobs running in the specified subsystems are included.

Generics may be specified for this parameter.

Subsystems to Exclude

Jobs running in the specified subsystems are excluded.

Generics may be specified for this parameter.

This test is applied after the include test.

Jobs to Include

Jobs with the specified name are included.

Generics may be specified for this parameter.

Jobs to Exclude

Jobs with the specified name are excluded.

Generics may be specified for this parameter.

This test is applied after the include test.

Action to Take

Specifies the action to be taken to hinder a job.

Enter *HOLD to hold the job.

Enter *LWRPTY to lower the priority. See the next parameter to set the amount by which the priority should be lowered.

Amount to Lower Priority

When *LWRPTY is selected for the action, each time a job is found that is eligible to be hindered, the priority will be lowered by this amount.

Message Queue for Urgent Msgs

Enter the name of queue for urgent messages to be sent to.

These include notifications of jobs that are not being restored and problems the program has hindering or restoring jobs.

*NONE may be specified for this parameter.

Message Queue for Activity Log

Enter the name of a message queue for messages logging the program's activity, or enter *JOBLOG to put them in the job log.

 


Still have questions? We can help. Submit a case to Technical Support.

Last Modified On: January 11, 2018