We encounter a serious cpu usage problem, in some of our batch process.
I want to find what program cause this overhead cpu usage.
I know I can use debbuger in batch mode to count statements and to use statistics.
Is there another utility (maybe sysrdc) to use (we do not have review)?
How exactly I can use the Test with the above 2 options?
If you have Natural Review installed (a very useful add on product!)
this would be easiest tool to use for this.
See doc of Review herehttp://techcommunity.softwareag.com/ecosystem/documentation/natural/nat427mf/print/rnm_mf.pdf
Yes, SYSRDC is most likely your best bet.
It’ll probably be too much to trace everything, maybe start by tracing P* events (program load / start / termination),
The first column of the RDCDISP output (ETIME1) will give you the elapsed time between events.
If this doesn’t sufficiently identify your problem extend your trace options to include database activity etc.
Just a couple of things to look for:
Adabas file Views in Natural with far more fields than necessary.
Read Work File statements that could easily be Read Work File RECORD statements.
“Silly” array usage. Example, a FOR loop on #LOOP with a statement such as
MOVE ’ ’ to #ARRAY (#LOOP). Instead, RESET #ARRAY (*) or, better yet, REDEFINE #ARRAY as #STRING (A whatever), and simply RESET #STRING.
MOVE BY NAME statements where the source and target Groups can be defined as single variables; then MOVE #SOURCE TO #TARGET.
Mixed format arithmetic statements.
Of course, there are many more to consider, but I would be surprised if you did not have some of the above, which are easily improved.
I submit a job with Debug to check “Print statment executaion statistics”.
Can someone explain me the columns in the printed table?