Chapter 5 Key Takeaways: z/OS Workload Manager
The One-Sentence Summary
WLM dynamically allocates z/OS resources based on business goals — your COBOL code's runtime performance depends as much on WLM classification as on code quality.
Five Things to Remember
-
WLM is goal-based, not priority-based. You define what you want (response time, velocity) and WLM figures out how to achieve it. If your service class is meeting its goal, WLM will give excess resources to other work — this is by design.
-
Performance Index (PI) is your single most important metric. PI < 1.0 means WLM is providing adequate resources (look elsewhere for performance problems). PI > 1.0 means WLM is not meeting the goal (investigate importance levels, capacity, or classification).
-
Importance levels create tiers; goals create targets within tiers. Use importance (1–5) for coarse-grained priority. Use response time or velocity goals for fine-grained performance management. Never put everything at the same importance — it defeats WLM's purpose.
-
Classification rules determine your code's priority. A perfectly optimized COBOL program at importance 5 will run slower than mediocre code at importance 1. Ensure your production workloads are correctly classified.
-
Service policies enable time-based priority shifts. Use separate policies for daytime (online-heavy) and batch window (batch-heavy). Automate the switch. Test the policies before you need them.
Quick Reference: WLM Components
SERVICE DEFINITION
├── SERVICE CLASSES (containers for work with goals)
│ ├── Name (8 chars max)
│ ├── Importance Level (1=highest, 5=lowest)
│ └── Periods (1-8, each with goal type + value)
│ ├── Response Time (seconds, average)
│ ├── Velocity (0-100%, time using resources vs. waiting)
│ └── Discretionary (leftover resources only)
│
├── WORKLOADS (logical groupings for reporting)
│ └── Group related service classes by business function
│
├── CLASSIFICATION RULES (how work gets assigned)
│ ├── By Subsystem Type (CICS, DB2, JES, STC, TSO, OMVS)
│ ├── By Job/Transaction attributes
│ └── Evaluated top-down, first match wins
│
└── SERVICE POLICIES (named sets of goal overrides)
├── DAYTIME — online at high importance
├── BATCHWIN — batch critical path elevated
└── MONTHEND — additional batch elevated
Quick Reference: Performance Index
PI = Actual Performance / Goal
PI < 1.0 → BETTER than goal → WLM is providing adequate resources
→ Look at application/DB2/I/O for issues
PI = 1.0 → EXACTLY at goal → Ideal state
PI > 1.0 → MISSING goal → Check importance, capacity, classification
PI > 2.0 → SERIOUSLY missing → Investigate immediately if importance 1-2
PI = N/A → Discretionary → No goal to measure against
Quick Reference: Dispatching Priority Ranges
| Importance | Approximate Priority Range | Typical Use |
|---|---|---|
| System | 224–255 | z/OS components (untouchable) |
| 1 | 192–223 | Critical online, critical batch |
| 2 | 160–191 | Important batch, MQ, infrastructure |
| 3 | 128–159 | Standard batch, reporting, TSO |
| 4 | 96–127 | Low-priority batch, test |
| 5 | 64–95 | Discretionary, development |
Ranges are approximate and dynamic — WLM adjusts within them based on PI.
Quick Reference: Diagnostic Flowchart
Job/Transaction Running Slowly
│
├─ Check PI
│ ├─ PI < 1.0 → NOT a WLM problem → Check code, DB2, I/O
│ └─ PI > 1.0 → Possible WLM issue → Continue
│
├─ Check Dispatching Priority
│ ├─ Priority in expected range → System may be capacity-constrained
│ └─ Priority too low → Check classification rules (misclassified?)
│
├─ Check for Higher-Priority Contention
│ ├─ Imp 1 work also missing goals → Capacity problem
│ └─ Imp 1 work meeting goals → Goals or importance may need adjustment
│
└─ Check Non-WLM Bottlenecks
├─ High I/O wait → Storage subsystem
├─ DB2 lock waits → Application design
├─ ENQ waits → Serialization
└─ High CPU + PI < 1.0 → Application inefficiency
Common Mistakes to Avoid
| Mistake | Why It Is Wrong | What to Do Instead |
|---|---|---|
| Everything at importance 1 | WLM cannot differentiate — equivalent to no priority management | Use 3-4 distinct importance tiers |
| No wildcard catch-all rule | New jobs default to SYSSTC/SYSOTHER at importance 5 | End every classification group with * |
| Same policy 24/7 | Batch cannot compete with online during daytime policy | Use DAYTIME and BATCHWIN policies |
| Unachievable velocity goals | Causes constant priority thrashing | Model goals against actual capacity |
| Classifying by function not criticality | All batch at same importance regardless of deadline | Classify by business criticality |
| LINK vs. START not considered | Subordinate work may run at wrong priority | Use LINK for same-priority, START for different |
| Ignoring enclave classification | Stored procedures at wrong priority | Match SP WLM environment to calling workload |
| Manual priority overrides | Leads to escalation death spiral | Fix the service definition; automate policy switches |
Key Data Sources
| Data Source | What It Shows | When to Use It |
|---|---|---|
| RMF Workload Activity Report | PI, response time, velocity, priority per service class | Real-time performance monitoring |
| SMF Type 72 Subtype 3 | Raw WLM workload activity data | Historical trending, capacity planning |
| SMF Type 72 Subtype 4 | Channel/device activity | I/O performance analysis |
| SMF Type 72 Subtype 5 | LPAR/processor activity | CPU capacity analysis |
| WLM ISPF panels | Service definition, active policy, current state | Configuration review, ad-hoc queries |
| SDSF (DA panel) | Active address spaces with dispatching priorities | Real-time dispatching verification |
Connection to Other Chapters
| Chapter | Connection to WLM |
|---|---|
| Ch 1 (z/OS Architecture) | WLM sits atop the subsystem architecture — classifies work by subsystem type |
| Ch 2 (Address Spaces) | LPAR weights affect capacity available to WLM; region sizes affect storage management |
| Ch 3 (Language Environment) | LE overhead appears as CPU service in WLM data; runtime options affect service consumption |
| Ch 6 (DB2 Optimizer) | DB2 DDF and stored procedures are classified by WLM; optimizer decisions affect service consumption |
| Ch 9 (Capacity Planning) | WLM data is the foundation of capacity planning; capacity limits bound what WLM can achieve |