Understanding Job Priorities
Job priorities determine execution order when multiple jobs are ready to run:
- Priority range: 1 to 255
- Higher number = higher priority
- Jobs with higher priority start first when resources available
User Priority Settings
Each user has three priority parameters:
Default priority : Assigned to new jobs unless user specifies otherwise
Minimum priority : Lowest priority user can set
Maximum priority : Highest priority user can set
Normal Configuration
System defaults (installed):
Default: 150 Minimum: 100 Maximum: 200
Standard user:
Default: 150 Minimum: 100 Maximum: 200
User can create jobs with priorities 100-200, defaults to 150.
Viewing User Priorities
In btuser:
bash
btuser # Shows user list with priorities
Display shows:
User Group Dft Min Max Maxll Totll Spcll Privileges jsmith staff 150 100 200 1000 10000 1000 CR Cdft
Command line:
bash
# View specific user btuser -l jsmith # View all users btulist
Setting User Priorities
Requires: Write admin file privilege
In btuser:
- Navigate to user
- Press d (default priority)
- Enter value, press Enter
- Press l (lower/minimum priority)
- Enter value, press Enter
- Press u (upper/maximum priority)
- Enter value, press Enter
Command line:
bash
# Set default priority btuchange -u jsmith -d 175 # Set minimum priority btuchange -u jsmith -l 110 # Set maximum priority btuchange -u jsmith -m 190
Special Configurations
Force User to Specify Priority
Default: 50 (below minimum) Minimum: 100 Maximum: 200
User must always specify priority - no default available.
Or:
Default: 250 (above maximum) Minimum: 100 Maximum: 200
Same effect - forces explicit priority specification.
Use case:
Critical production environment where priorities must be deliberate.
Prevent User from Submitting Jobs
Minimum: 200 Maximum: 100
Min > Max makes submission impossible.
Better approach:
Remove Create entry privilege instead:
bash
btuchange -u jsmith -n CR
More explicit and clear.
High Priority User
Default: 180 Minimum: 150 Maximum: 230
User's jobs prioritized over standard users.
Use case:
Administrator, urgent production jobs, time-critical processing.
Low Priority User
Default: 120 Minimum: 100 Maximum: 140
User's jobs run after higher priority work.
Use case:
Background processing, non-urgent batch work, development/testing.
Fixed Priority
Default: 150 Minimum: 150 Maximum: 150
User can only submit jobs at priority 150.
Use case:
Simplified management, prevent priority manipulation.
System Default Priorities
Set defaults for new users:
In btuser:
- Press D (capital - system default default)
- Enter default priority
- Press L (capital - system default minimum)
- Enter minimum priority
- Press U (capital - system default maximum)
- Enter maximum priority
Changes apply to:
- Users added to system after this point
- Doesn't affect existing users unless explicitly copied
Apply defaults to existing users:
In btuser:
- Navigate to user, press a (lowercase) - copy to that user only
- Press A (capital) - copy to all users (confirms first)
Warning: A (all users) overwrites everyone's priority settings. Use carefully.
Priority Strategy Examples
Production Environment
Tiers:
Critical: 180-220 Production: 120-180 Development: 100-140 Background: 80-120
Setup:
bash
# Critical users btuchange -u prod_ops -d 200 -l 180 -m 220 # Production users btuchange -u app_team -d 150 -l 120 -m 180 # Developers btuchange -u dev_team -d 120 -l 100 -m 140 # Background processing btuchange -u batch_user -d 100 -l 80 -m 120
Result:
Clear separation between job types. Critical jobs always run first, background jobs run when nothing else waiting.
Shared Resource Environment
Equal access:
All users: Default 150, Min 100, Max 200
All users have same priority range. Fair scheduling.
Setup:
bash
# Set system defaults # In btuser: D=150, L=100, U=200 # Apply to all users # In btuser: Press 'A'
Time-Critical Processing
Designate urgent job users:
Urgent: Default 200, Min 180, Max 250 Normal: Default 150, Min 100, Max 180
Urgent users can override normal processing when needed.
Setup:
bash
# Urgent processing team btuchange -u urgent_team -d 200 -l 180 -m 250 # Everyone else stays at normal defaults
Priority Enforcement
Users restricted to their range:
bash
# User jsmith has min=100, max=200 # Submitting with priority 90 btr -p 90 script.sh # Error: Priority below minimum # Submitting with priority 210 btr -p 210 script.sh # Error: Priority above maximum # Submitting with priority 150 btr -p 150 script.sh # Success
Changing existing job:
bash
# User tries to set priority outside range btjchange -p 250 15033 # Error: Priority exceeds maximum
Monitoring Priorities
View job queue with priorities:
bash
# Command line btjlist | sort -k5 -n -r # In btq # Priority column visible, sorted by priority
Check who's using high priorities:
bash
# Jobs with priority > 180
btjlist | awk '$5 > 180 {print $0}'
Audit user priority usage:
bash
# List users by priority ranges btulist | sort -k4 -n
Best Practices
Use meaningful ranges:
Create gaps between tiers (100-140, 150-180, 190-220) - makes separation clear.
Document priority levels:
Maintain written policy on what priorities mean:
100-140: Background, non-urgent 150-180: Normal production 190-220: High priority, time-critical
Review regularly:
Audit user priorities quarterly. Adjust as needed.
Start conservative:
Begin with standard defaults (100-200). Expand ranges only when needed.
Consider load levels first:
Use load levels to control resource usage, priorities for execution order.
Avoid too many tiers:
3-5 priority levels sufficient for most environments. More creates confusion.
Educate users:
Explain priority system so users choose appropriately.
Monitor abuse:
Watch for users always submitting at maximum priority.