Managing interactive and batch jobs on your iSeries and System i servers can be a challenging task. There are several IBM commands that can be used to view the activity of jobs that are currently running. Other commands are frequently used for retrieving information about jobs that have terminated.
The 'Work with Active Jobs (WRKACTJOB)' command gives quick and easy access to all jobs currently active on the system. The 'Display Log (DSPLOG)' command can be used to determine job statistics for each job that is no longer running. The 'WRKOUTQ OUTQ(QEZJOBLOG)' command may help provide further details for each job but can be tedious to navigate and find what you are looking for.
The 'F4=Prompt' function key can be used with the 'WRKACTJOB' command. Once in the command prompt, press the 'F9=All parameters' function key. This will show some helpful filtering parameters. Specifying a 'Subsystem' or 'Job name' can help you get to the jobs you are looking for much quicker. Once on the 'Work with Active Jobs' display, the 'F16=Resequence' function key can be used to sort the data by any of the available columns.
When looking for jobs that are impacting performance, it is important to pay attention to the 'Elapsed time' on the top of this display. Any job consuming 30% of the CPU over a 1 second elapsed time is not something to be concerned about. Use the F5 and F10 function keys appropriately to ensure that you are looking at an average utilization over a reasonable period of time.
Use of the F4 and F9 function keys on the 'DSPLOG' command will get you to its 'Additional Parameters' display. On the second screen of parameters for this command, you can filter by 'Jobs to display'. Once on the 'Display History Log Contents' screen, you will see entries for each job that meets your filter criteria. There will be separate entries for when the job started and for when it ended. If the job is still active, there will only be a started entry and no information for its current status. Put the cursor on an entry and press F1 for more information.
Why do some jobs always generate a joblog, others never do, some only when job ends abnormally?
It is common for software developers to set job message logging to 'LOG(4 00 *SECLVL) LOGCLPGM(*YES)' when troubleshooting or debugging application software issues. Some software vendors may have all of their jobs running with message logging of 'LOG(0 00 *NOLIST) LOGCLPGM(*NO)'. Job message logging can be changed for any active job on the system using the 'Change Job (CHGJOB)' command. Most applications have their default job message logging set via a 'Job Description' object. The 'Change Job Description (CHGJOBD)' command can be used to modify the default settings once the correct job description is identified. The 'DSPJOB OPTION(*DFNA)' command can be used on any active job to determine which job description needs to be changed.
Some of the most commonly used job message logging settings are as follows:
- LOG(4 00 *SECLVL) LOGCLPGM(*YES)
Always generate a joblog, regardless of whether the job completes normally or ends abnormally. Always log all CL commands into the generated joblog.
- LOG(0 00 *NOLIST) LOGCLPGM(*NO)
Never generate a joblog. Never log CL commands. When attempting to access a joblog with these settings, 'No job log information.' will be displayed. You can manually change the message logging for this active job using the 'CHGJOB' command and the joblog will become accessible.
- LOG(4 00 *NOLIST) LOGCLPGM(*NO)
Only generate a joblog if the job ends abnormally. CL commands are not logged into the generated joblog. All jobs that complete normally do not generate a joblog spooled file.
These are good settings for most stable Production applications. If a job does end abnormally, you do get a joblog to troubleshoot with. For those batch jobs that run thousands of times per day, you are not wasting system resources to generate unnecessary spooled files for each occurrence of the job. If you find that you have millions of pages of joblogs on your system per day, you might want to consider changing your job descriptions to these settings. It is not uncommon to see more system resources consumed by the generation of joblogs than by the actual processing performed by these jobs.
The Workload Performance Series software consists of seven different tools that focus on various aspects of performance and systems management. The Workload Navigator tool collects job completion history for all jobs on the system. This includes the current status of all active jobs and the historical statistics of all completed jobs. You are able to define data retention for this and all of the tools in our tool-set. Data by default is kept in the Workload Navigator tool for 365 days but this is easily customizable.
You are able to view daily, weekly, monthly or yearly summary level statistics by subsystem, job name, user profile and job type. From these summary screens you can use the '5=Work with' subfile option to drill down into the job completion history for the selected data sample. An '8=Details' subfile option is available for accessing the job details for any of the selected job records.
The Workload Performance Series software has significant enhancements over prior versions. There are many new features and functionality for accessing data in a variety of ways. You can customize how you want the data summarized, over what time periods and you can dynamically sort the data as desired. The cursor sensitive 'F1=Help' adds tremendous value as well when it comes to trying to understand and interpret the collected data.
Having all of the job data captured into a single user interface is a great improvement over the 'WRKACTJOB' and 'DSPLOG' commands. The 'WRKACTJOB' command shows only active jobs - but does have good online help and documentation of data elements. The 'DSPLOG' command accesses current or completion statistics only for jobs that have terminated, with no online help for interpretation of data. The Workload Navigator tool consolidates all of the data, documentation and functionality into a single, concise user interface.