Creating a Pool for Running the RBTSLEEPER Subsystem
Before You Begin
This document details how to modify the default RBTSLEEPER subsystem description so that subsystem jobs run in their own memory pool. This means that the jobs running in this subsystem have an area of memory that is not being used for other processes, which, in theory, makes the jobs process faster.
After modifying the subsystem description, you should monitor the performance of the memory pool in the following areas: DB and non-DB fault pages, active-wait, wait-ineligible, and active-ineligible rates. You may need to make further adjustments, according to current IBM recommendations.
Steps
- Sign on under a user profile that is a member of the class *SECOFR and has at least the following special authorities: *ALLOBJ, *SECADM, *JOBCTL, and *IOSYSCFG. The user profile should have Limit capabilities set to *NO.
- Make sure the RBTSLEEPER subsystem is inactive.
- To determine which pool the RBTSLEEPER subsystem is running in, enter the following command:
- The objective is to add another pool ID to the subsystem description and then route all jobs within the subsystem to this newly created subsystem pool ID. To add a new pool ID, enter the following command and press function key 4 to display the command prompt panel.
- Change the existing routing entries for the RBTSLEEPER subsystem description so that they point to this newly created subsystem pool ID.
- Enter the following command to change each of the routing entries to point to the newly created subsystem pool ID:
- Enter the WRKSHRPOOL command to display the Work with Shared Pools panel. Specify Defined Size and Max Active values for the shared pool (for example, *SHRPOOL1) that you added to the subsystem description in Step 4. This tells OS/400 how much memory to allocate to the shared pool when the subsystem starts and shared pools are allocated.
- When setting the activity level on the Work with Shared Pools panel, you need to take into account the product monitor jobs as well as other jobs that could run in this subsystem. Setting this value too high could result in poor performance.
- Also take into account any other jobs that are not related to the Robot products that are running in the RBTSLEEPER subsystem. We do not recommend that you do this, so this may be a good time to review where these jobs run.
- Define the Paging Option value for the shared pool. The Paging Option should be defined as *CALC.
- Start the RBTSLEEPER subsystem. You will now see the subsystem running in its shared pool.
DSPSBSD RBTSLEEPER
Select option 2, Pool Definitions. Pool ID 1 should be defined as *BASE. Do not make any changes to Pool ID 1. The subsystem monitor job (SBS type job) runs in this pool.
CHGSBSD
Complete the panel as shown in the following example:

Note: If you already have defined *SHRPOOL1 as a shared pool for other subsystem descriptions, choose one of the remaining shared pools (*SHRPOOL2–*SHRPOOL60) instead of *SHRPOOL1.
To determine the routing sequences that exist for the RBTSLEEPER subsystem, enter the following command and select option 7, Routing Entries:
DSPSBSD SBSD(RBTSYSLIB/RBTSLEEPER)
Write down the routing entry sequence numbers.
CHGRTGE SBSD(RBTSYSLIB/RBTSLEEPER) SEQNBR(xxx) POOL ID(2)
where xxx is the routing entry sequence number from the DSPSBSD command.
Note: The pool size is defined in megabytes with two decimal positions. For example: 20.00 is 20MB.
The following table lists Help/Systems products, the number of monitor jobs that each product runs, and the number of additional jobs that each product could run. These additional jobs depend on how the different products are configured, and can vary from system to system.
Find the number of jobs in the table and multiply it by 3MB per job to determine the pool size and Max Active values to define to the shared pool.
Notes:
| Product | Monitor Jobs | Jobs that could be submitted to this subsystem |
| Robot/ALERT 5 | 3 | There may be more if you have more communicationsvjobs |
| Robot/AUTOTUNE 7 | 0 | All monitor jobs run in subsystem ATMONITOR |
| Robot/CLIENT 5 | 1 | |
| Robot/CONSOLE 4 | 3 |
One job for each message queue being monitored. A maximum of 50 message sets running OPAL. One job for each type of logging: FTP, security, and QHST One job for each resource monitor that is active. |
| Robot/CONSOLE 3 | 2 | One job for each message queue being monitored. A maximum of 50 message sets running OPAL. |
| Robot/CORRAL 2 | 0 | One job for each build of an object list. |
| Robot/CPA 4 | 0 | |
| Robot/LPAR | 0 | All jobs run in subsystem RLMONITOR |
| Robot/MONITOR 7 | 2 | |
| Robot/NETWORK 9 (Host) | 5 | One job for each function that Robot/NETWORK can submit (i.e., packets, RBNSNDxxx, purges) |
| Robot/NETWORK (Node) | 2 | One job for each packet received |
| Robot/REPLAY 2 | 0 | |
| Robot/REPORTS 7 | 2 | One job for each spooled file being processed |
| Robot/SCHEDULE 9 | 3 | Any job using the RBTSLEEPER job queue and all submitted Robot/SCHEDULE reports |
| Robot/SAVE 10 | 3 | Any backups running through the RBTSLEEPER job queue |
| Robot/SPACE | 0 | |
| Robot/TRANSFORM | 2 | |
| Robot/TRAPPER | 5 | |
| Robot/UPS 2 | 1 |
Updated Jan. 31, 2005




