Author Topic: Displaying Memory Available  (Read 3994 times)

Ed_Arnold

  • Hero Member
  • *****
  • Posts: 1202
    • View Profile
Displaying Memory Available
« on: March 22, 2015, 03:24:36 PM »
1. Run the following JCL:

//STEPHARD EXEC PGM=BPXBATCH,REGION=0M   
//STDPARM  DD *                           
SH ulimit -a                             
//SYSPRINT DD SYSOUT=*                   
//STDERR   DD SYSOUT=*                   
//SYSOUT   DD SYSOUT=*                   
//SYSPRINT DD SYSOUT=*                   

Example STDOUT:

core file         unlimited         
cpu time          86375             
data size         unlimited         
file size         unlimited         
stack size        unlimited         
file descriptors  64000             
address space     1870824k           
memory above bar  17592186040320m   

a) spice this up by using different REGION=x sizes to see the difference

b) doubly spice this up by adding this to the bottom of the JCL:

//STDENV DD *                         
_CEE_RUNOPTS=RPTSTG(ON),RPTOPTS(ON)   
/*                                   

STDERR on my system now has (1) a listing of all of the default LE run time options, and (2) storage report information such as STACK and HEAP sizes


2. This EXEC I shamelessly stole from the IBM-MAIN listserver group - works just great out in TSO or inside OMVS:

/* REXX *** */                                                               
 IF SYSCALLS('ON')>3 THEN                                                     
    DO                                                                       
    SAY 'Unable to establish the SYSCALL environment'                         
    SAY 'Return code was 'RC                                                 
    RETURN                                                                   
    END                                                                       
 ADDRESS SYSCALL                                                             
/* display current limits for OMVS resources */ Say 'Maximum amount of CPU = 
time (in seconds) used by a process.'                                         
 CALL dolim 'rlimit_cpu'                                                     
Say 'Maximum files size (in bytes) created by a process.'                     
 CALL dolim 'rlimit_fsize'                                                   
Say 'Maximum number of open file descriptors for a process.'                 
 CALL dolim 'rlimit_nofile'                                                   
Say 'Maximum address space size for a process.'                               
 CALL dolim 'rlimit_as'                                                       
Say 'Maximum size (in bytes) of a core dump created by a process.'           
 CALL dolim 'rlimit_core'                                                     
 exit 0                                                                       
 dolim: ,                                                                     
 arg v .                                                                     
/* return current limits for resource */               
 num=value(v)                                         
 "getrlimit "num" rv."                                 
 SAY 'Resource='v'('num') current='rv.1 'maximum='rv.2
 Say ' '                                               
 return                                               


Produces output that looks like this:

Maximum amount of CPU =time (in seconds) used by a process.       
Resource=RLIMIT_CPU(0) current=2147483647 maximum=2147483647     
                                                                 
Maximum files size (in bytes) created by a process.               
Resource=RLIMIT_FSIZE(1) current=2147483647 maximum=2147483647   
                                                                 
Maximum number of open file descriptors for a process.           
Resource=RLIMIT_NOFILE(6) current=64000 maximum=64000             
                                                                 
Maximum address space size for a process.                         
Resource=RLIMIT_AS(5) current=1033412608 maximum=2147483647       
                                                                 
Maximum size (in bytes) of a core dump created by a process.     
Resource=RLIMIT_CORE(4) current=2147483647 maximum=2147483647     

Ed



« Last Edit: March 23, 2015, 01:16:02 PM by Ed_Arnold »
#zOS #ODF