MVSFORUMS.com Forum Index MVSFORUMS.com
A Community of and for MVS Professionals
 
 FAQFAQ   SearchSearch   Quick Manuals   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

How can I capture CPU% utilized per job through REXX?

 
Post new topic   Reply to topic   printer-friendly view    MVSFORUMS.com Forum Index -> TSO and ISPF
View previous topic :: View next topic  
Author Message
Mike Nitz
Beginner


Joined: 09 Jun 2005
Posts: 19
Topics: 12
Location: Kansas City, MO

PostPosted: Tue Jan 10, 2006 6:42 pm    Post subject: How can I capture CPU% utilized per job through REXX? Reply with quote

I've tried to capture the CPU% utilized by each job through RMF monitor III reports, that was a bust. I've tried to get the info from the SDSF DA panel, so far it's a nogo. I've searched the forums & haven't found anything. How can I trap this information?? I'm at my wit's end!!!!
Back to top
View user's profile Send private message
semigeezer
Supermod


Joined: 03 Jan 2003
Posts: 1014
Topics: 13
Location: Atlantis

PostPosted: Tue Jan 10, 2006 9:28 pm    Post subject: Reply with quote

If you are willing to do a sampling and then wait a little, sampling again and doing some math, you can get the CPU time of each job by looking at the ASCBEJST field in each job's ASCB. This post will give you an idea how to run the ASVT to get the ASCBs for all address spaces. You then check CHTRKID for the type to verify it is a job and ... well... look here for the rest about finding jobs.


Be sure to do a real sleep between samplings because you want your exec to be completely inactive during the sampling period. the syscalls sleep function will do that (or any of a number of wait commands that use STIMER available on the web). Also, if you are using a multi-CPU box, you'll need to define what CPU% means to you (CPUTime/Elapsed, or CPU/Elapsed/#CPUs, etc)
Back to top
View user's profile Send private message Visit poster's website
nevilh
Beginner


Joined: 11 Aug 2004
Posts: 115
Topics: 0

PostPosted: Wed Jan 11, 2006 5:10 am    Post subject: Reply with quote

ASCBEJST will give you elapsed time not CPU % utilized
Back to top
View user's profile Send private message
DaveyC
Moderator


Joined: 02 Dec 2002
Posts: 151
Topics: 3
Location: Perth, Western Australia

PostPosted: Wed Jan 11, 2006 8:12 am    Post subject: Reply with quote

Quote:
ASCBEJST will give you elapsed time not CPU % utilized


No, it's CPU time. AFAIK, this is what gets reported in the JESYSMSG output of batch jobs.

Code:

IEF374I STEP/PROTEUS /STOP  2006011.1650 CPU    0MIN 03.87SEC SRB

_________________
Dave Crayford
Back to top
View user's profile Send private message Send e-mail
vjkumk
Beginner


Joined: 28 Sep 2005
Posts: 98
Topics: 33

PostPosted: Wed Jan 11, 2006 9:47 am    Post subject: Reply with quote

use SYSVAR(SYSSRV) in REXX
Use the following arguments to obtain information related to the system.
SYSCPU the number of seconds of central processing unit (CPU) time used
during the session in the form: seconds.hundredths-of-seconds.
You can use the SYSCPU argument and the SYSSRV argument,
which returns the number of system resource manager (SRM)
service units, to evaluate the:
Performance of applications
Duration of a session.
Back to top
View user's profile Send private message
nevilh
Beginner


Joined: 11 Aug 2004
Posts: 115
Topics: 0

PostPosted: Wed Jan 11, 2006 12:19 pm    Post subject: Reply with quote

Time reported in message IEF374I includes SRB time and enclave time this is not the same as the time reported in ASCBEJST. Documention is specific
Quote:
ASCBEJST DS D - ELAPSED JOB STEP TIMING UNSIGNED
* 64 BIT BINARY NUMBER
Back to top
View user's profile Send private message
dtf
Beginner


Joined: 10 Dec 2004
Posts: 110
Topics: 8
Location: Colorado USA

PostPosted: Wed Jan 11, 2006 12:50 pm    Post subject: Reply with quote

If you happen to have STROBE, you might look into using it. However, this may be overkill for what you are looking for.
________
herbal vaporizers


Last edited by dtf on Tue Feb 01, 2011 2:05 pm; edited 1 time in total
Back to top
View user's profile Send private message
Bill Dennis
Advanced


Joined: 03 Dec 2002
Posts: 579
Topics: 1
Location: Iowa, USA

PostPosted: Wed Jan 11, 2006 1:10 pm    Post subject: Reply with quote

Do you really want the percent of the CPU used overall by a given job?

Get the CPU time and ELAPSED time from SMF type30 JOB recs and calculate (x/(y*z)) * 100 = percent of available CPU consumed by one job
x = CPU time used by job
y = elapsed time of job
z = number of processors available
_________________
Regards,
Bill Dennis

Disclaimer: My comments on this foorum are my own and do not represent the opinions or suggestions of any other person or business entity.
Back to top
View user's profile Send private message
semigeezer
Supermod


Joined: 03 Jan 2003
Posts: 1014
Topics: 13
Location: Atlantis

PostPosted: Wed Jan 11, 2006 2:44 pm    Post subject: Reply with quote

I went back and looked at the old code for TASID. ascbejst is CPU time. ascbsrbt is srb time. Those 2 can be combined as mentioned. Elapsed time is calculated current stck time - ascbints. TASID numbers match those shown by SDSF and RMF (or at least they did the last time I looked). There are other timings for various things. Offhand, I forget how to tell the elapsed time of a particular job step, but I think there is a timestamp in the OUCB for that - or something like that.
Back to top
View user's profile Send private message Visit poster's website
DaveyC
Moderator


Joined: 02 Dec 2002
Posts: 151
Topics: 3
Location: Perth, Western Australia

PostPosted: Mon Jan 16, 2006 7:30 am    Post subject: Reply with quote

nevilh,

I think you're confusing elapsed time with wall time. Also, enclave is an LE term, which has absolutley no relevence to this thread! If you don't belive me why don't you check out the SDSF source and see how CPU time is calculated. Normally you can find it in ISF.SISFSRC(ISFDA).

Here's a snippet...

Code:

          LM    R0,R1,ASCBEJST      GET ELAPSED JOB TCB TIME 
          CLM   R0,B'1000',=X'00'   IS TOD ACCURATE?         
          BE    DA00028A            BRANCH IF YES             
          SR    R0,R0               ZERO OUT R0               
          SR    R1,R1               ZERO OUT R1               
 DA00028A DS    0H                                           
          SRDL  R0,12               IN MICRO-SECONDS         
          LM    R14,R15,ASCBSRBT    GET ELAPSED SRB TIME     
          CLM   R14,B'1000',=X'00'   IS TOD ACCURATE?         
          BE    DA00028B            BRANCH IF YES             
          SR    R14,R14             ZERO OUT R14             
          SR    R15,R15             ZERO OUT R15             
 DA00028B DS    0H                                           
          SRDL  R14,12              IN MICRO-SECONDS         
          ALR   R1,R15              ADD TCB AND SRB TIME     
          BNO   DA000028            BRANCH IF NO OVERFLOW     
          AH    R0,=H'1'            HANDLE CARRY             
 DA000028 DS    0H                                           
          AR    R0,R14                                       
          STM   R0,R1,USRCTIME      SET CURRENT CPU TIME USED

_________________
Dave Crayford
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic   Reply to topic   printer-friendly view    MVSFORUMS.com Forum Index -> TSO and ISPF All times are GMT - 5 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


MVSFORUMS
Powered by phpBB © 2001, 2005 phpBB Group