JSTAT

Updated January 2021; see History

JSTAT <jobname>

JSTAT is useful for monitoring the status and activity of another job. It displays a dynamically updated screen full of information such as the number of reads, writes and basic instructions, both total and rate/sec over the last sampling interval. It also shows the last basic instruction, last subroutine, last line number, current PPN, program, job status flags, etc. This can be useful in a variety of circumstances, such as debugging a job that appears to be in an infinite loop, or determining whether operator is actively keypunching or a remote job is safe to kill.

As with other utilities that rely on inter-job communication, such as KILL, FORCE and SEND, there are privilege issues to consider under UNIX, whereas under Windows the main issue is the IJCFREQ setting in miame.ini. Refer to File Ownership and Privileges for more information on the privilege issue.

The job activity statistics are maintained in the jobtbl.sys file, making them available to be queried by utilities such as SYSTAT/W and JSTAT. Each job updates its own statistics in response to various triggers, the most universal of which is the Inter Job Communication clock, whose frequency is set by the IJCFREQ=<seconds> command in miame.ini. Under UNIX systems, jobs can send a request message to other jobs using ITC.SBR, asking them to update their statistics immediately so as to be able to report the very latest. In order for such messages to be delivered, the jobs have to share the same effective user, or the sender has to be root. Failing that, the stats reported may be between 0-<IJC frequency> seconds old; you may also see an ITC error message displayed. Refer to Advanced Privilege Settings for more information.

Example

Here is the JSTAT display after the update of January 2021; see History below. Note that the pink/purple fields are those that have changed since the last screen update (every n seconds), the white fields at the top are relatively fixed per job, and the PID and PPID fields only apply to UNIX.

Graphical user interface

Description automatically generated with medium confidence

 

History

2021 January, A-Shell 6.5.1696, JSTAT.LIT 3.3(113):  now displays the number of open files, and if applicable, the number of open ISAM 1.x files.

Aside from general interest, the information may also be useful for determining if the parameters of the FILES=###,### statement in the miame.ini are adequate. The numbers displayed in JSTAT correspond directly to the parameters of the FILE statement. The first value counts all random, sequential, ISAMA, and ISAM files, plus the terminal itself. The second value counts each ISAM 1.x file opened.

2017 August, A-Shell 6.5.1614, JSTAT.LIT 3.2(111):  status now shows PC location counter for target job, vastly improving the ability to track the activity of the target even if it is running a program without many line numbers—provided you have the LSX file for the target program.

2015 May, A-Shell 6.1.1408:  Updated routine to recognize and preserve a new unique identifer field in the JOBTBL. The new version is backward compatible with earlier versions of A-Shell and has a "B" in the version number to help easily identify it.

2011 September, A-Shell 5.1.1235:  Add support for new job table layout and ten character program name.