IBM Support

Subsystem Single or Multiple Threads

Troubleshooting


Problem

This document explains how to change an interactive subsystem to run in a single-thread environment rather than a multiple-thread environment.

Resolving The Problem

In interactive subsystems, sign-on file operations are performed in secondary threads. The use of secondary threads improves subsystem performance and availability. There is a data area and program that can be used to force the subsystem to perform all processing in the primary thread in a manner similar to how it functioned prior to V5R4.

Changing one subsystem: To change a subsystem to run in a single-thread environment, create a data area in QSYS with the same name as the subsystem and a value of 'S'. For example, to change QINTER, type the following on the operating system command line:

CRTDTAARA DTAARA(QSYS/QINTER) TYPE(*CHAR) LEN(1) VALUE('S')

The change will take effect the next time the subsystem is started.

Deleting the data area or changing the value to 'M' causes the subsystem to run in a multiple thread environment.

Frequently Asked Questions

Q1: Is there an easy way to change all of my subsystems?

A1: To change the default for all subsystems to run in a single thread environment, type the following:

CALL QWTMAINT PARM(1 7 *ALL *ALL S)

To change back to the original system default, type the following:

CALL QWTMAINT PARM(1 7 *ALL *ALL D)

Q2: There is already a data area in QSYS with the same name as my subsystem. What now?

A2: The QWTMAINT program can also be used to change a single subsystem. This takes precedence over the system default and any data area. For example to change a subsystem named INTERACT whose description is in library SYSTEM to run in a single thread environment, type the following:

CALL QWTMAINT PARM(1 7 INTERACT SYSTEM S)

Q3: How can I determine if a subsystem is running with single or multiple threads?

A3: To determine if a subsystem is running in a single or multiple thread environment, use the WRKACTJOB command, Option 12=Work with threads or the WRKJOB command, Option 20 Work with threads, if active.  There are only two threads if the subsystem is running in a single thread environment.

Q4: Why is my subsystem running with single or multiple threads?

A4: By default, interactive subsystems run in a multiple thread environment and batch subsystems run in a single thread environment. An interactive subsystem has a work station entry in its subsystem description. The data area can be used to change the default environment. The controlling subsystem is the exception to the rule and always runs in a single thread environment.

Determining subsystem environment (the hard way): If looking at the data area does not explain why a subsystem is running in a single or multiple thread environment, you can use the QWTMAINT program. To determine why a subsystem named INTERACT whose description is in library SYSTEM is running in a multiple thread environment, run the following command:

CALL QWTMAINT PARM(3 6 INTERACT SYSTEM)

Looking at the rightmost information in the spooled file:

*CALL QWTMAINT PARM(3 6          *
   *     INTERACT   SYSTEM    )     *
   *1 DEVODP      256               *
   *2 MAXTHD       20               *
   *3 MINTHD        2               *
   *4 THDTIMOUT   300.000           *
   *5 ENDTIMOUT     5               *
   *6 DEVPRBLMT     5               *
   *7 ALWMLTTHD     M              M*  <-- Subsystem description
   *    *DTAARA     S              S*  <-- Data area value
   *    *ALL        D               *  <-- System default

The information in the dump shows internal configuration for the subsystem. The line with ALWMLTTHD shows the thread environment specified in the subsystem description. The next line with *DTAARA shows the thread environment specified in the data area. The line after that with *ALL shows the system default. The values are M=multiple S=single and D=default. If there is more than one non-default value, the priority order is subsystem description, data area, then system.

[{"Type":"MASTER","Line of Business":{"code":"LOB57","label":"Power"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SWG60","label":"IBM i"},"Platform":[{"code":"PF012","label":"IBM i"}],"Version":"7.1.0"}]

Historical Number

474767933

Document Information

Modified date:
11 November 2019

UID

nas8N1013933