/* REXX */ /* */ /* AUTHOR: Mark Zelden */ /*********************************************************************/ /* This exec will show the virtual storage usage of the task that */ /* invokes the REXX exec. This could be an interactive TSO user, a */ /* batch TSO step, or even a Unix System Services user / Web server. */ /*********************************************************************/ Numeric digits 10 ASCB = C2d(Storage(224,4)) /* current ASCB */ LDA = C2d(Storage(D2x(ASCB + 48),4)) /* local data area */ LDALIMIT = C2d(storage(D2x(LDA + 208),4)) /* <16m v=v */ LDALIMIT = Right(LDALIMIT/1024,9) /* convert to kbytes */ LDALOAL = C2d(storage(D2x(LDA + 232),4)) /* <16m v=v alloc */ LDALOAL = Right(LDALOAL/1024,9) /* convert to kbytes */ LDAELIM = C2d(storage(D2x(LDA + 216),4)) /* >16m v=v */ LDAELIM = Right(LDAELIM/1024,9) /* convert to kbytes */ LDAELOAL = C2d(storage(D2x(LDA + 240),4)) /* >16m v=v alloc */ LDAELOAL = Right(LDAELOAL/1024,9) /* convert to kbytes */ LDAREGRQ = C2d(storage(D2x(LDA + 204),4)) /* region requested */ LDAREGRQ = LDAREGRQ/1024 /* convert to kbytes */ AVAIL = Right(LDALIMIT-LDALOAL,9) /* available <16M */ EAVAIL = Right(LDAELIM-LDAELOAL,9) /* available >16M */ Say '' Say 'V I R T U A L S T O R A G E U S A G E' Say '-------------------------------------------' Say ' ' Say ' Region requested:' LDAREGRQ'K' Say ' ' Say ' Limit In-Use Avail' Say 'Below 16M:' LDALIMIT'K' LDALOAL'K' AVAIL'K' Say 'Above 16M:' LDAELIM'K' LDAELOAL'K' EAVAIL'K' Exit 0 //MYJOB JOB (ACCT),CLASS=A //* //TEST PROC //S1 EXEC PGM=IRXJCL,PARM='REXXSTOR' //SYSTSIN DD DUMMY //SYSTSPRT DD SYSOUT=* //SYSEXEC DD DSN=your.clist.lib,DISP=SHR // PEND //J1 EXEC TEST /* DEFAULT REGION SIZE ABOVE & BELOW - */ //* /* JES2 DEFAULT REGION SIZE FROM JOBCLASS(N) */ //* /* IS USED FOR REGION SIZE IF NOT OVERRIDEN */ //* /* BY INSTALLATION EXIT */ //J2 EXEC TEST,REGION.S1=8M /* REQ BELOW / ABOVE TEST #1 */ //J3 EXEC TEST,REGION.S1=20M /* MAX BELOW / ABOVE TEST #2 */ //J4 EXEC TEST,REGION.S1=40M /* MAX BELOW / ABOVE TEST #3 */ //J5 EXEC TEST,REGION.S1=80M /* MAX BELOW / ABOVE TEST #4 */ //J6 EXEC TEST,REGION.S1=100M /* MAX BELOW / ABOVE TEST #5 */ //J7 EXEC TEST,REGION.S1=200M /* MAX BELOW / ABOVE TEST #6 */ //J8 EXEC TEST,REGION.S1=500M /* MAX BELOW / ABOVE TEST #7 */ //J9 EXEC TEST,REGION.S1=900M /* MAX BELOW / ABOVE TEST #8 */ //J10 EXEC TEST,REGION.S1=0M /* REGION = 0M TEST */ //J11 EXEC TEST,REGION.S1=14M /* IMPOSSIBLE REGION TEST */