IBM Support

Changing the Run Priority of a Host Server Prestart Job

Troubleshooting


Problem

This document describes how to permanently change the run priority of a prestart job such as those jobs used by the host servers.

Resolving The Problem

The IBM i host servers use prestart jobs to perform the work requested by client connections. In order to set the run priority for these jobs, the prestart job entry has to be modified to specify a class that has the expected run priority. See the table at the end of this article for a listing of functions and the prestart job that services those requests. As an example, we look at the NetServer prestart job that uses program QZLSFILE in subsystem QSERVER to handle NetServer requests. The same concepts and steps can be extended to any service that uses prestart jobs.

By default, the class for this prestart job entry is QSYS/QPWFSERVER which can be shared by other prestart job entries. Therefore, it is recommended that a new class be created (copied from the current class) with the desired run priority.

Step 1: Make note of the class used in the QZLSFILE prestart job entry.
  1. From an IBM i command line, run the command DSPSBSD QSERVER
  2. Make note of the library that the QSERVER subsystem description is found in.
  3. Select Option 10, Prestart Job Entries.
  4. Find the QZLSFILE entry, and select Option 5 to display details, page down, and make note of the class and class library. Most likely, it is QPWFSERVER in QSYS.

Step 2: Create a copy of the original class being used. From an IBM i command line, run the command
CRTDUPOBJ OBJ(aaaaaa) FROMLIB(bbbbbb) OBJTYPE(*CLS) TOLIB(yyyyyy) NEWOBJ(xxxxxx)

Where aaaaaa is the class and bbbbbb is the library from Step 1, xxxxxx is the name of the new class, and yyyyyy is the library where the new class resides.

Step 3: Change the priority of the new class. From an i5/OS command line, run the command

CHGCLS CLS(yyyyyy/xxxxxx) RUNPTY(ww)

Where xxxxxx is the name of the new class, yyyyyy is the library containing the class, and ww is the new run priority.

Step 4: Change the class on the QZLSFILE prestart job. On the i5/OS command line, run the command
CHGPJE SBSD(bbbbbb/QSERVER) PGM(QSYS/QZLSFILE) CLS(yyyyyy/xxxxxx)

Where yyyyyy is the library, xxxxxx is the new class, and bbbbbb is the library from Step 1.2.

Step 5: Recycle the prestart job so that the new settings are implemented. This halts all jobs using NetServer.
  1. To end the prestart job, run the following command: ENDPJ SBS(QSERVER) PGM(QSYS/QZLSFILE) OPTION(*IMMED)
  2. To start the prestart job, run the following command: STRPJ SBS(QSERVER) PGM(QSYS/QZSFILE)
Function Prestart Job Entry Program Subsystem
ODBC, OLEDB, JDBC, .Net data provider, Data Transfer QZDASOINIT, QZDASSINIT*, QZDAINIT** QUSRWRK (QSERVER for the
QZDAINIT jobs)
DDM, DRDA, (used by DB2 and third-party ODBC drivers) QRWTSRVR QUSRWRK
CLI (Native JDBC uses this also) QSQSRVR QSYSWRK
Network drive mapping QZLSFILE, QZLSFILET QSERVER
Remote program call, remote commands QZRCSRVS QUSRWRK
Data queues QZHQSSRV QUSRWRK

* - Program used for SSL (Secure Sockets Layer) connections which encrypt all of the data passed over the network
** - Program used for APPC (Advanced Program to Program Communications) or SNA (System Network Architecture) communications -- obsolete, included for completeness only.

[{"Product":{"code":"SWG60","label":"IBM i"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Component":"Host Servers","Platform":[{"code":"PF012","label":"IBM i"}],"Version":"Version Independent","Edition":"","Line of Business":{"code":"LOB57","label":"Power"}}]

Historical Number

538012192

Document Information

Modified date:
02 January 2020

UID

nas8N1012713