How does IBMi Handle job inactivity (QINACTITV)
In recent releases, IBM has made several improvements to IBM i‘s the handling of the Inactive Job Time-Out Interval (QINACTITV) to enhance accuracy and performance. Here are some key changes:
- Definition of Inactivity: Previously, a job could be considered inactive if it wasn’t using CPU time. Now, a job can still be considered inactive even if it uses CPU time, as long as there is no input or output occurring
- Job Disconnection: Jobs can now be disconnected even if a device name wasn’t supplied when the session was created. This means jobs for devices with names starting with QPADEV can be disconnected
- Background Activities: The new code gives less weight to unpredictable, background activities. For example, running a break message handling program will no longer be a reason to consider the job active
QINACTITV – Inactive job time-out.
Specifies when the system takes action on inactive interactive jobs. The system value QINACTMSGQ determines the action the system takes. For information on enforcement for target pass-through and TELNET sessions, see the Work Management book. Local jobs that are currently signed-on to a remote system are excluded. For example, a workstation is directly attached to system A, and system A has QINACTITV set on. If display station pass-through or TELNET is used to sign on to system B, this workstation is not affected by the QINACTITV value set on system A.
A change to this system value takes effect immediately. The shipped value is *NONE.
- *NONE The system does not check for inactive interactive jobs.
- 5 – 300 The number of minutes a job can be inactive before action is taken.
These changes help in better managing system resources and improving overall system performance.
What does it mean for an IBM i interactive job to be inactive?
For an IBM i interactive job to be considered inactive, it means that the job is not performing any significant activity. Specifically, this can include:
- No User Input or Output: The job isn’t receiving any input from the user or producing any output.
- Minimal CPU Usage: The job isn’t using a significant amount of CPU resources.
- No Active Processing: The job isn’t actively processing data or running tasks.
In essence, an inactive job is one that is essentially idle, waiting for some form of interaction or task to perform. This helps in managing system resources more efficiently by identifying and potentially disconnecting or ending jobs that are not actively contributing to the workload.
In the IBM i operating system, the handling of jobs can vary based on their activity and the system’s configuration. Here’s a breakdown:
Jobs That Can Be Disconnected
- Interactive Jobs: These can be disconnected using the
DSCJOB
(Disconnect Job) command. When disconnected, the job remains in the system but is not actively using resources - Group Jobs: All jobs in a group can be disconnected. When reconnected, the user returns to the point where the disconnect was issued
Jobs That Must Be Ended
- Jobs with Active PC Organizer or PC Text Assist Functions: These jobs cannot be disconnected and must be ended instead
- Jobs in Ending Subsystems: If a subsystem is ending, the
DSCJOB
command cannot be issued, and the jobs must be ended - Jobs Exceeding Disconnect Interval: If a job exceeds the system-defined disconnect interval (
QDSCJOBITV
), it will be ended
These rules help manage system resources effectively by ensuring that inactive jobs do not consume unnecessary resources while allowing for flexibility in handling different types of jobs
The best value for the Disconnected Job Time-Out Interval (QDSCJOBITV) in IBM i systems typically depends on your specific environment and requirements. However, a commonly recommended value is 120 minutes. This setting balances the need to free up system resources by ending disconnected jobs while allowing sufficient time for users to reconnect if needed.
The best value for the Inactive Job Time-Out Interval (QINACTITV) in IBM i systems is generally 60 minutes. This setting strikes a good balance between security and usability, ensuring that inactive jobs are managed efficiently without disrupting users too frequently.
If QINACTMSGQ = *DSCJOB and the user is using an auto-generated virtual device(a QPADEVxxxx device), the job will be disconnected rather than ended. Later on, the user can sign on and continue their work (often a huge time saver).