TIME Parameter

Purpose

The TIME parameter in JCL specifies the maximum amount of CPU time that a job or job step is allowed to use. It helps prevent runaway jobs from consuming excessive system resources by setting time limits. TIME can be specified at both the JOB level (affecting all steps) and the EXEC level (for individual steps).

Syntax

On JOB statement:

jcl
1
//jobname JOB (accounting-information),programmer-name,TIME=value

On EXEC statement:

jcl
1
//stepname EXEC PGM=program-name,TIME=value

Format

The TIME parameter can be specified in several formats:

  • TIME=minutes - Specifies CPU time in whole minutes
    • Example: TIME=5 (5 minutes)
  • TIME=(minutes,seconds) - Specifies CPU time in minutes and seconds
    • Example: TIME=(2,30) (2 minutes and 30 seconds)
  • TIME=1440 - Special value meaning "no time limit" (24 hours = 1440 minutes)
  • TIME=NOLIMIT - No time limit (equivalent to TIME=1440)
  • TIME=MAXIMUM - Maximum time allowed by the installation
  • TIME=0 - Special value that allows the step to be checked for JCL errors without execution

Examples

Basic Usage on JOB Statement

jcl
1
//PAYROLL JOB (ACCT123),'JOHN SMITH',TIME=10

Limits the entire job to 10 minutes of CPU time

Basic Usage on EXEC Statement

jcl
1
//STEP1 EXEC PGM=IEBGENER,TIME=2

Limits this step to 2 minutes of CPU time

Minutes and Seconds Format

jcl
1
//COPYSTEP EXEC PGM=IEBCOPY,TIME=(1,30)

Limits this step to 1 minute and 30 seconds of CPU time

No Time Limit

jcl
1
//LONGSTEP EXEC PGM=SORT,TIME=1440

Specifies no time limit for this step (1440 minutes = 24 hours)

JCL Check Only

jcl
1
//TESTJOB JOB (ACCT456),'JANE DOE',TIME=0

Requests JCL checking only, without executing the job steps

Step Override

jcl
1
2
3
4
//MULTI JOB (ACCT789),'DEVELOPER',TIME=5 //STEP1 EXEC PGM=PROG1 //STEP2 EXEC PGM=PROG2,TIME=10 //STEP3 EXEC PGM=PROG3

STEP1 and STEP3 use the JOB-level TIME limit of 5 minutes, while STEP2 overrides with 10 minutes

TIME Parameter Special Values

ValueMeaningUsage
TIME=0Check JCL syntax onlyTesting JCL without execution
TIME=1440No time limit (24 hours)Long-running jobs with unpredictable duration
TIME=NOLIMITNo time limitSame as TIME=1440
TIME=MAXIMUMMaximum allowed by installationWhen you need the maximum available time

JOB vs EXEC TIME Parameter

LevelEffectLimitations
JOB statement TIMELimits total CPU time for all steps combinedJob terminates when combined time exceeds limit
EXEC statement TIMELimits CPU time for individual stepStep terminates when its time exceeds limit

System Considerations

  • TIME measures CPU time used, not elapsed (wall clock) time
  • CPU time usage is typically much less than elapsed time
  • The actual maximum TIME value may be limited by installation settings
  • TIME=0 causes job steps to be syntax-checked without execution
  • TIME=1440 (or NOLIMIT) removes CPU time restrictions
  • When a job or step exceeds its TIME limit, it is abnormally terminated with a system completion code (usually S322)
  • TIME limits may be enforced or adjusted by:
    • JES2/JES3 initialization parameters
    • Installation exits
    • System resource manager settings
    • Workload Manager (WLM) service definitions

Typical TIME Values for Different Job Types

Job TypeTypical TIME Value
Simple utility functions (IEFBR14, IDCAMS)1 minute or less
Compiles, assemblies2-5 minutes
Medium-sized batch processing5-15 minutes
Large database operations15-30 minutes
Large sorts, complex analytics30-60 minutes
Major batch processing, unpredictable workloads1440 (no limit)

Notes

  • TIME is optional - if omitted, an installation-defined default is used
  • Specifying too small a TIME value can cause premature job termination
  • Specifying too large a TIME value may be wasteful and could be rejected by the system
  • TIME limits are for CPU time only, not elapsed (wall clock) time
  • Multiprocessing environments may accumulate CPU time faster than expected
  • TIME=0 is useful for checking JCL syntax without running the job
  • TIME=1440 is commonly used for jobs with unpredictable runtime requirements
  • Some installations may enforce TIME limits for different job classes

Common Mistakes

  • Confusing CPU time with elapsed (wall clock) time
  • Setting TIME limits too low for jobs that process large amounts of data
  • Using TIME=1440 unnecessarily for short jobs
  • Not considering overhead for initialization and termination processing
  • Not accounting for system load variations that may affect CPU time usage
  • Using TIME=0 in production when intending to actually run the job

Related Concepts

Related Pages