Dear all,
I have development system(LPAR) here wherein the jobs submitted by the developers/trainees gets into loop very often. Usually i use to find this through either the TGNUM value or through the EXCP Cnt. But today i found a genuine job( not a system or admin job) running with high TGNUM EXCP and also with considerable amount of CPU time . So, I got messed up with how to find whether a job is really running under loop. I really can't understand which factor decides that this job is screwing up the System. I'm not sure whether this is the right place to post this topic. If not please transfer this to another topic. Apologies a ton if i'm wrong!!
Thanks,
Viswa
Suggestion on a Looping job.
-
- Posts: 271
- Joined: Mon Oct 25, 2010 2:24 pm
- Skillset: CICS, REXX, z/OS System Programming, COBOL.
- Referer: friend
-
- Global moderator
- Posts: 3006
- Joined: Fri Apr 18, 2008 11:25 pm
- Skillset: tso,rexx,assembler,pl/i,storage,mvs,os/390,z/os,
- Referer: www.ibmmainframes.com
Re: Suggestion on a Looping job.
You have no way of telling if a job is a legitimate user of systems resources or just a <hogger> ?
the best approach is to make intelligent use of the cpu parameter,
tweak things a bit so that these jobs can not fiddle with the cpu parameter
allow test jobs run only in certain classes with more stringent limits
Your effort of monitoring cpu utilization of running processes is certainly a nice toy,
but it will stay that ... a toy
apart the effort of reinventing the wheel ...
the best approach is to make intelligent use of the cpu parameter,
tweak things a bit so that these jobs can not fiddle with the cpu parameter
allow test jobs run only in certain classes with more stringent limits
Your effort of monitoring cpu utilization of running processes is certainly a nice toy,
but it will stay that ... a toy

apart the effort of reinventing the wheel ...
cheers
enrico
When I tell somebody to RTFM or STFW I usually have the page open in another tab/window of my browser,
so that I am sure that the information requested can be reached with a very small effort
enrico
When I tell somebody to RTFM or STFW I usually have the page open in another tab/window of my browser,
so that I am sure that the information requested can be reached with a very small effort
-
- Posts: 271
- Joined: Mon Oct 25, 2010 2:24 pm
- Skillset: CICS, REXX, z/OS System Programming, COBOL.
- Referer: friend
Re: Suggestion on a Looping job.
Thanks enrico, for your time and valuable reply as always...
Is this through the manual monitoring. I'm not sure whether how to handle this.
Nicely said!! since i'm just a newbie for this Legacy system
Thanks,
Viswa
the best approach is to make intelligent use of the cpu parameter
Is this through the manual monitoring. I'm not sure whether how to handle this.
apart the effort of reinventing the wheel
Nicely said!! since i'm just a newbie for this Legacy system

Thanks,
Viswa
-
- Global moderator
- Posts: 3006
- Joined: Fri Apr 18, 2008 11:25 pm
- Skillset: tso,rexx,assembler,pl/i,storage,mvs,os/390,z/os,
- Referer: www.ibmmainframes.com
Re: Suggestion on a Looping job.
I just reread the topic..
I had a finger-check... I should have said time parameter.. on the job card
no monitoring at all..
define a default time parameter for test jobs, once the allotted CPU time has been consumed
the job will abend
I had a finger-check... I should have said time parameter.. on the job card
no monitoring at all..
define a default time parameter for test jobs, once the allotted CPU time has been consumed
the job will abend
cheers
enrico
When I tell somebody to RTFM or STFW I usually have the page open in another tab/window of my browser,
so that I am sure that the information requested can be reached with a very small effort
enrico
When I tell somebody to RTFM or STFW I usually have the page open in another tab/window of my browser,
so that I am sure that the information requested can be reached with a very small effort
- dick scherrer
- Global moderator
- Posts: 6268
- Joined: Sat Jun 09, 2007 8:58 am
Re: Suggestion on a Looping job.
Hello,
For what it is worth - when testing a new program or a newly modified program, the initial testing is best done with tiny amounts of data.
If a job is running and is getting all cpu or all i/o, it might be in a loop. If the job is getting both cpu and i/o, it can be very difficult to know if it is in a loop or merely has much to do. . .
For what it is worth - when testing a new program or a newly modified program, the initial testing is best done with tiny amounts of data.
If a job is running and is getting all cpu or all i/o, it might be in a loop. If the job is getting both cpu and i/o, it can be very difficult to know if it is in a loop or merely has much to do. . .
Hope this helps,
d.sch.
d.sch.
-
- Global moderator
- Posts: 2105
- Joined: Thu Jun 03, 2010 6:21 pm
- Skillset: Assembler, JCL, utilities
- Referer: zos.efglobe.com
Re: Suggestion on a Looping job.
Another option is to set a restrictive step time in the JES2 JOBCLASS (for a job class) statement. This does not require any action on the part of the programmer. See this link.enrico-sorichetti wrote:I just reread the topic..
I had a finger-check... I should have said time parameter.. on the job card
no monitoring at all..
define a default time parameter for test jobs, once the allotted CPU time has been consumed
the job will abend
For printed output you have other options.
You don't really have any options for a general I/O loop other than monitoring, but these jobs will eventually time out.
-
- Global moderator
- Posts: 3720
- Joined: Sat Dec 19, 2009 8:32 pm
- Skillset: Systems programming, SAS, COBOL, CICS, JCL, SMS, VSAM, etc.
- Referer: other forum
- Location: Dubuque, Iowa, USA
Re: Suggestion on a Looping job.
There's no 100% accurate heuristic to tell you this -- it's mostly knowing your system and the peaks and valleys of system usage over time. Jobs that have high CPU usage without growing EXCP counts, for example, are usually -- but not always -- in a loop (it could just be a long-running CPU-bound job). As others have said, usually the first line of defense -- especially in a development / test environment -- is to set CPU limits (by job class or whatever makes sense) and use monitoring tools such as Omegamon or MainView to watch system performance.So, I got messed up with how to find whether a job is really running under loop. I really can't understand which factor decides that this job is screwing up the System.
-
- Posts: 271
- Joined: Mon Oct 25, 2010 2:24 pm
- Skillset: CICS, REXX, z/OS System Programming, COBOL.
- Referer: friend
Re: Suggestion on a Looping job.
@Enrico: Thanks a lot for your time and valuable comments!
@Steve: thanks for your valuable comments and time!
@Robert: thanks for your valuable comments and time!
@scherrer: thanks a lot for your time and reply!
As suggested by you experts i have an idea of changing the JOBDEF in the JESPARM member. But i have a little confusion like in my shop i have three kinds of JOBDEF made.
1. JOBCLASS(STC) --> started task.
2. JOBCLASS(TSU) --> Logon task.( i believe apologize if i'm wrong)
3. JOBCLASS(*) ---> can't understand
. does this means all the jobclass from (a-z)? if yes, can i define a new jobclass with name say JOBCLASS(v)? Apologize if i'm wrong.
thanks,
Viswa
@Steve: thanks for your valuable comments and time!
@Robert: thanks for your valuable comments and time!
@scherrer: thanks a lot for your time and reply!
As suggested by you experts i have an idea of changing the JOBDEF in the JESPARM member. But i have a little confusion like in my shop i have three kinds of JOBDEF made.
1. JOBCLASS(STC) --> started task.
2. JOBCLASS(TSU) --> Logon task.( i believe apologize if i'm wrong)
3. JOBCLASS(*) ---> can't understand

thanks,
Viswa
-
- Global moderator
- Posts: 2105
- Joined: Thu Jun 03, 2010 6:21 pm
- Skillset: Assembler, JCL, utilities
- Referer: zos.efglobe.com
Re: Suggestion on a Looping job.
1. All started tasks.Viswanathchandru wrote:... As suggested by you experts i have an idea of changing the JOBDEF in the JESPARM member. But i have a little confusion like in my shop i have three kinds of JOBDEF made.
1. JOBCLASS(STC) --> started task.
2. JOBCLASS(TSU) --> Logon task.( i believe apologize if i'm wrong)
3. JOBCLASS(*) ---> can't understand. does this means all the jobclass from (a-z)? if yes, can i define a new jobclass with name say JOBCLASS(v)? Apologize if i'm wrong. ...
2. All TSO users.
3. All job classes. I'm not 100% sure what will happen mixing JOBCLASS(*) and JOBCLASS(v) as you propose, but I think it will work they way you think, provided JOBCLASS(v) is after the JOBCLASS(*).
-
- Posts: 271
- Joined: Mon Oct 25, 2010 2:24 pm
- Skillset: CICS, REXX, z/OS System Programming, COBOL.
- Referer: friend
Re: Suggestion on a Looping job.
Thanks a lot steve for your suggestions. Thanks all for addressing this post!!
Regards,
Viswa
Regards,
Viswa