IBM Support

Subsystem Pools Overview

Troubleshooting


Problem

This note provides a general overview of subsystem memory pools used by the operating system.

Resolving The Problem

A pool is a division of main or auxiliary storage. On IBM System i system, all main storage can be divided into logical allocations called storage pools. You can control how much work can be done in a subsystem by controlling the number and size of the storage pools. The greater the size of the storage pools in the subsystem, the more work can be done in it.

Looking at Subsystem Pool Information

You can see what pools are being used by a subsystem by first displaying it (DSPSBSD <name>). Select Option 2 for Pool Definitions. You are shown the subsystem pool number on the left (do not confuse the subsystem pool number with the system pool numbers) and the system pool name (for example, *BASE, *INTERACT, and so on) to the right.

Example
 
Subsystem description:   QINTER         Status:   ACTIVE
                                                         
 Pool        Storage           Activity                        
  ID         Size (K)           Level                          
   1         *BASE                                      
   2         *INTERACT
   3         32000                1

The *BASE pool is subsystem pool 1.

The activity level of a storage pool is the number of jobs that can be active at the same time in that pool.

Looking at System Pool Information

To find what system pool number it is, on the operating system command line type the following:
 
WRKSHRPOOL

Press the Enter key.

Example
 
              Defined     Max      Allocated    Pool    -Paging Option--
 Pool         Size (K)    Active     Size (K)     ID    Defined  Current
 *MACHINE       14835       +++      14835        1      *FIXED   *FIXED  
 *BASE          45412        25      45412        2      *FIXED   *FIXED  
 *INTERACT       3276         4       3276        4      *FIXED   *FIXED  
 *SPOOL           655         4        655        3      *FIXED   *FIXED  
 *SHRPOOL1        655         2        655        5      *CALC    *CALC  
 *SHRPOOL2         48         1         48        6      *FIXED   *FIXED  
 *SHRPOOL3        100         1                                   *FIXED           
 *SHRPOOL4      10000         2                                   *FIXED           
 *SHRPOOL5         32         1                                   *FIXED           
 *SHRPOOL6          0         0                                   *FIXED

The *MACHINE pool cannot be shared because it is used exclusively by the system and is recognizable as system pool 1. The *BASE pool contains all unassigned main storage on the system (for example, all storage that is not required by the *MACHINE pool or any other pool). The system value QBASPOOL specifies the minimum size for this pool.

Shared Pool versus Private Pool

A storage pool can be a shared pool or a private pool.

A shared pool is one in which multiple subsystems can run (there are 13 out of 14 system pools that could be shared in such a way, including *INTERACT, *BASE, *SHRPOOL1, and so on).

In the top example of the pool definitions for a subsystem, the 3rd subsystem pool is a private pool. The space is allocated only for that subsystem.

Changing the Pool Information for a Subsystem

To create this (or to change an existing pool identifier), on the operating system command line type the following:
 
CHGSBSD

Press F4 to prompt. A screen similar to the following is shown:
 
Subsystem description  . . . . . > KSIDOROV               Name                    
   Library  . . . . . . . . . . .              *LIBL               Name, *LIBL, *CURLIB    
 Storage pools:                                                         
   Pool identifier  . . . . . . . >                                     1-10, *SAME              
   Storage size . . . . . . . . . >                                     Number, *BASE, *NOSTG...
   Activity level . . . . . . . . >                                     Number                  
                                      + for more values                                          
 Maximum jobs . . . . . . . . . .               ___  *SAME              0-1000, *SAME, *NOMAX    
 Text 'description' . . . . . . .     ___            *SAME

You would put the subsystem pool number in the Pool identifier field. To use a system pool (for example, a shared pool), specify which system pool in the Storage size field (for example, *BASE or *INTERACT). To define a private pool, assign a subsystem pool number, and a define the storage space for it (for example, 32000).

To remove a pool from a subsystem, use the CHGSBSD command, press F4 to prompt, specify the subsystem pool number. For Storage size, type *RMV. Ensure the pool is not being used by any of the routing entries of the subsystem. If so, the system does not allow you to delete it.

[{"Type":"MASTER","Line of Business":{"code":"LOB68","label":"Power HW"},"Business Unit":{"code":"BU070","label":"IBM Infrastructure"},"Product":{"code":"SWG60","label":"IBM i"},"ARM Category":[{"code":"a8m0z0000000CHjAAM","label":"Job and Work Management"}],"ARM Case Number":"","Platform":[{"code":"PF012","label":"IBM i"}],"Version":"7.1.0"}]

Historical Number

10565119

Document Information

Modified date:
04 October 2024

UID

nas8N1018462