13.07.2015 Views

JCL TIME < 1440

JCL TIME < 1440

JCL TIME < 1440

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Unix System ServicesOMVS CPU time limits in batch -affecting the soft and hard limitsGSE z/OS Guide Lahnstein, 03/14/2012Matthias Kornz/OS Global Competency CenterIBM Deutschland GmbHmatthias.korn@de.ibm.com© 2012 IBM Corporation


IBM Global Competency CenterSoft Limits vs. Hard Limits• Hard limits set a ceiling on the value of the softlimits– a soft limit can be increased up to the value of the hardlimit– only a superuser can increase the hard limit– anyone can decrease the hard limit2© 2012 IBM Corporation


IBM Global Competency CenterSetting the CPU time limit in batch• CPU time limit can be affected by:– JES JOBCLASS <strong>TIME</strong> value– MAXCPU<strong>TIME</strong> in BPXPRMxx– CPU<strong>TIME</strong>MAX in users OMVS segment– <strong>TIME</strong> parameter in JOB / STEP card of <strong>JCL</strong>– ulimit in /$HOME/.profile or /etc/profile (or command)3© 2012 IBM Corporation


IBM Global Competency CenterSetting the CPU time limit in batch – the <strong>JCL</strong>//KORN2 JOB 7904,&SYSUID.,MSGLEVEL=(1,1),MSGCLASS=K,CLASS=A,// NOTIFY=&SYSUID.,<strong>TIME</strong>=(10,30)//* -----------------------------------------------------------//LIST EXEC PGM=BPXBATCH//STDOUT DD SYSOUT=*//STDERR DD SYSOUT=*//STDPARM DD *sh getrlimit4© 2012 IBM Corporation


IBM Global Competency CenterSetting the CPU time limit in batch – getrlimit()• belongs to the USS syscall layer (BPX1GRL, syscall x‘CC‘)• can be used to query the hard and soft resource limits for the calling process such as:– RLIMIT_MEMLIMIT• limit of 1 MB segments above 2 GB– RLIMIT_CORE• limit size of a core dump– RLIMIT_CPU• limit of CPU time per process– RLIMIT_FSIZE• limit of file size– RLIMIT_NOFILE• limit of open files– RLIMIT_AS• limit of address space size5© 2012 IBM Corporation


IBM Global Competency CenterSetting the CPU time limit in batch – getrlimit()/* rexx */trace oaddress syscall"getrlimit" rlimit_cpu c.say " CPU time soft limit=" c.1 "seconds"say " CPU time hard limit=" c.2 "seconds"say " rc =" rcsay " retval =" retvalsay " errno =" errnosay " errnojr =" errnojrexit 06© 2012 IBM Corporation


IBM Global Competency CenterCPU<strong>TIME</strong> limits in BATCH• General rules / remarks – <strong>JCL</strong> vs. JES <strong>TIME</strong>– IF <strong>JCL</strong> <strong>TIME</strong> = <strong>1440</strong> THEN HARD = SOFT = 2147483647 sec– IF JES JOBCLASS <strong>TIME</strong> = <strong>1440</strong> AND <strong>JCL</strong> <strong>TIME</strong> < <strong>1440</strong>THEN HARD LIMIT = <strong>JCL</strong> <strong>TIME</strong>– IF JES JOBCLASS <strong>TIME</strong> < <strong>1440</strong> AND <strong>JCL</strong> <strong>TIME</strong> < <strong>1440</strong>THEN HARD LIMIT = MIN(JOBCLASS <strong>TIME</strong>,<strong>JCL</strong> <strong>TIME</strong>)8© 2012 IBM Corporation


IBM Global Competency CenterCPU<strong>TIME</strong> limits in BATCH• General rules / remarks – CPU<strong>TIME</strong>MAX vs. MAXCPU<strong>TIME</strong>– MAXCPU<strong>TIME</strong> and CPU<strong>TIME</strong>MAX only affect the hard limit– CPU<strong>TIME</strong>MAX overrides MAXCPU<strong>TIME</strong>– HARD LIMIT=MAX(CPU<strong>TIME</strong>MAX,MIN(<strong>JCL</strong> <strong>TIME</strong>,JES <strong>TIME</strong>))• if CPU<strong>TIME</strong>MAX is set im OMVS segment• if JES <strong>TIME</strong> and <strong>JCL</strong> <strong>TIME</strong> <strong>1440</strong>– HARD LIMIT=MAX(MAXCPU<strong>TIME</strong>,MIN(<strong>JCL</strong> <strong>TIME</strong>,JES <strong>TIME</strong>))• if NOCPU<strong>TIME</strong>MAX is set in OMVS segment and MAXCPU<strong>TIME</strong> is set inBPXPRMxx• if JES <strong>TIME</strong> and <strong>JCL</strong> <strong>TIME</strong> <strong>1440</strong>9© 2012 IBM Corporation


IBM Global Competency CenterCPU<strong>TIME</strong> limits in BATCH – Part 1• FIX constants for part 1:– JES JOBCLASS <strong>TIME</strong>=<strong>1440</strong> (unlimited)– MAXCPU<strong>TIME</strong> in BPXPRMxx =1000– no ulimit setting• ulimit can be used as shell command to set certainresource limits such as the CPU <strong>TIME</strong>10© 2012 IBM Corporation


IBM Global Competency CenterCPU<strong>TIME</strong> limits in BATCH – Part 1 (cont.)<strong>TIME</strong> in <strong>JCL</strong> not setCPU<strong>TIME</strong>MAX 120<strong>TIME</strong>=<strong>1440</strong>CPU<strong>TIME</strong>MAX 120<strong>TIME</strong>=2NOCPU<strong>TIME</strong>MAX<strong>TIME</strong>=20NOCPU<strong>TIME</strong>MAX<strong>TIME</strong>=20CPU<strong>TIME</strong>MAX 1800Soft limit returnedby getrlimit()2147483647 seconds(from JES JOBCLASS)2147483647 seconds(from <strong>TIME</strong>=<strong>1440</strong>)120 seconds(from <strong>TIME</strong>=2)1200 seconds(from <strong>TIME</strong>=20)1200 seconds(from <strong>TIME</strong>=20)Hard limit returnedby getrlimit()2147483647 seconds(from JES JOBCLASS)2147483647 seconds(from <strong>TIME</strong>=<strong>1440</strong>)1000 seconds(from MAXCPU<strong>TIME</strong>)1200 seconds(from <strong>TIME</strong>=20)1800 seconds(from CPU<strong>TIME</strong>MAX)11© 2012 IBM Corporation


IBM Global Competency CenterCPU<strong>TIME</strong> limits in BATCH – Part 2• ulimit –St in /$HOME/.profile• FIX constants for part 2:– JES JOBCLASS <strong>TIME</strong>=<strong>1440</strong> (unlimited)– MAXCPU<strong>TIME</strong> in BPXPRMxx =1000– UID 012© 2012 IBM Corporation


IBM Global Competency CenterCPU<strong>TIME</strong> limits in BATCH – Part 2 (cont.)• Rules / Remarks:– ulimit –St sets the soft limit, which must not exceed thehard limit defined– an attempt fails with:ulimit: /auto/korn/.profile 3:FSUM9222 set limit failed: EDC5121I Invalid argument.13© 2012 IBM Corporation


IBM Global Competency CenterCPU<strong>TIME</strong> limits in BATCH – Part 2 (cont.)<strong>TIME</strong> in <strong>JCL</strong> not setNOCPU<strong>TIME</strong>MAXulimit –St 240<strong>TIME</strong> in <strong>JCL</strong> not setCPU<strong>TIME</strong>MAX 120ulimit –St 240<strong>TIME</strong>=1CPU<strong>TIME</strong>MAX 1500ulimit –St 120Soft limit returnedby getrlimit()240 seconds(from ulimit –St240)240 seconds(from ulimit –St240)120 seconds(from ulimit –St120)Hard limit returnedby getrlimit()2147483647 seconds(from JES JOBCLASS)2147483647 seconds(from JES JOBCLASS)1500 seconds(from CPU<strong>TIME</strong>MAX)14© 2012 IBM Corporation


IBM Global Competency CenterCPU<strong>TIME</strong> limits in BATCH – Part 2 (cont.)<strong>TIME</strong>=3CPU<strong>TIME</strong>MAX 600ulimit –St 120<strong>TIME</strong>=3CPU<strong>TIME</strong>MAX 120ulimit –St 240<strong>TIME</strong>=<strong>1440</strong>CPU<strong>TIME</strong>MAX 120ulimit –St 240Soft limit returnedby getrlimit()120 seconds(from ulimit –St 120)180 seconds(from <strong>TIME</strong>=3)(ulimit fails withinvalid argument)240 seconds(from ulimit –St 240)Hard limit returnedby getrlimit()600 seconds(from CPU<strong>TIME</strong>MAX)180 seconds(from <strong>TIME</strong>=3)2147483647 seconds(from <strong>TIME</strong> beingunlimited)15© 2012 IBM Corporation


IBM Global Competency CenterCPU<strong>TIME</strong> limits in BATCH – Part 3• ulimit –Ht in /$HOME/.profile• FIX constants for part 3:– JES JOBCLASS <strong>TIME</strong>=<strong>1440</strong> (unlimited)– MAXCPU<strong>TIME</strong> in BPXPRMxx =1000– UID 016© 2012 IBM Corporation


IBM Global Competency CenterCPU<strong>TIME</strong> limits in BATCH – Part 3 (cont.)• Rules / Remarks:– ulimit –Ht sets the hard limit and affects the soft limit too– ulimit –Ht must not exceed the defined hard limit set by JESJOBCLASS <strong>TIME</strong> (if <strong>JCL</strong> <strong>TIME</strong> is not set) or the maximum ofMAXCPU<strong>TIME</strong>, CPU<strong>TIME</strong>MAX and <strong>JCL</strong> <strong>TIME</strong>– if an attempt is done:ulimit: /auto/korn/.profile 3: FSUM9222 set limit failed:EDC5139I Operation not permitted.17© 2012 IBM Corporation


IBM Global Competency CenterCPU<strong>TIME</strong> limits in BATCH – Part 3 (cont.)<strong>TIME</strong> in <strong>JCL</strong> not setNOCPU<strong>TIME</strong>MAXulimit –Ht 240<strong>TIME</strong> in <strong>JCL</strong> not setCPU<strong>TIME</strong>MAX 120ulimit –Ht 240<strong>TIME</strong>=1CPU<strong>TIME</strong>MAX 1500ulimit –Ht 240Soft limit returnedby getrlimit()240 seconds(from ulimit –Ht 240)240 seconds(from ulimit –St 240)60 seconds(from <strong>TIME</strong>=1)Hard limit returnedby getrlimit()240 seconds(from ulimit –Ht 240)240 seconds(from ulimit –Ht 240)240 seconds(from ulimit –Ht 240)18© 2012 IBM Corporation


IBM Global Competency CenterCPU<strong>TIME</strong> limits in BATCH – Part 3 (cont.)<strong>TIME</strong>=3CPU<strong>TIME</strong>MAX 1500ulimit –Ht 120<strong>TIME</strong>=3CPU<strong>TIME</strong>MAX 120ulimit –Ht 240<strong>TIME</strong>=3CPU<strong>TIME</strong>MAX 120ulimit –Ht 180Soft limit returnedby getrlimit()120 seconds(from <strong>TIME</strong>=3, butmax‘ed by ulimit -Ht)180 seconds(from <strong>TIME</strong>=3)180 seconds(from <strong>TIME</strong>=3)Hard limit returnedby getrlimit()120 seconds(from ulimit –Ht 120)180 seconds(from <strong>TIME</strong>=3)(ulimit fails becauseUID 0)180 seconds(from ulimit –Ht 180)(ulimit successful)19© 2012 IBM Corporation


IBM Global Competency CenterCPU<strong>TIME</strong> limits in BATCH – Part 4• FIX constants for part 4:– JES JOBCLASS <strong>TIME</strong>=2– MAXCPU<strong>TIME</strong> in BPXPRMxx =1000– UID 020© 2012 IBM Corporation


IBM Global Competency CenterCPU<strong>TIME</strong> limits in BATCH – Part 4 (cont.)<strong>TIME</strong>=20CPU<strong>TIME</strong>MAX 600ulimit not set<strong>TIME</strong>=20CPU<strong>TIME</strong>MAX 600ulimit –St 480<strong>TIME</strong> not setCPU<strong>TIME</strong>MAX 600ulimit not set<strong>TIME</strong> not setCPU<strong>TIME</strong>MAX 600ulimit –Ht 660Soft limit returnedby getrlimit()120 seconds(from JES JOBCLASS)480 seconds(from ulimit –St 480)120 seconds(from JES JOBCLASS)120 seconds(from JES JOBCLASS)Hard limit returnedby getrlimit()600 seconds(from CPU<strong>TIME</strong>MAX)600 seconds(from CPU<strong>TIME</strong>MAX)600 seconds(from CPU<strong>TIME</strong>MAX)600 seconds(from CPU<strong>TIME</strong>MAX 600,ulimit fails becauseof UID 0)21© 2012 IBM Corporation


IBM Global Competency CenterCPU<strong>TIME</strong> limits in BATCH – Part 5UID = 0<strong>TIME</strong>=(10,30)CPU<strong>TIME</strong>MAX 600ulimit –Ht 660Soft limit returnedby getrlimit()120 seconds(from JES JOBCLASS)Hard limit returnedby getrlimit()660 seconds(from ulimit –Ht 660)22© 2012 IBM Corporation


IBM Global Competency CenterAny questions ???23© 2012 IBM Corporation

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!