Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Initialization

&pagelevel(4)&pagelevel

Setting up and activating the global program cache

The global program cache can be set up and activated in two ways:

  • Automatically when the POSIX subsystem starts up, controlled by specific parameters in the POSIX information file

  • Explicitly using the posdbl command during the ongoing POSIX session

The POSIX information file defines the following two parameters for the privileged part of the POSIX loader:


DBLSTATE|initial state of POSIX loader|status
DBLPOOL|size of pool (MB) for POSIX loader|size


A global program cache will not be set up if the size of the program cache is equal to zero megabytes. In this case, the starting status of the global program cache is ignored.

If the size of the program cache is greater than zero megabytes, the global program cache will be set up with the size specified. The global program cache is activated by setting the initial status to “1”. The global program cache is deactivated by setting the initial status to “0”.

The scope Global is used to set up a memory pool of the size specified. The upper limit value is not defined by posdbl, but is defined by the system-specific settings.

If the size defined using the DBLPOOL parameter when the POSIX subsystem was started is 0, the global parameter cache can also be set up again later in the following manner using the posdbl and usp commands:

  • Define the size in MB using usp (usp –p dblpool –v value)

  • Set up the program cache again using posdbl (posdbl –n)

The global parameter cache has not yet been activated when these actions have been performed.

The implicit linker and loader processes must be activated using the -e option of the posdbl command.

See also the section “Administration”.

Setting up and activating user-specific program caches

USERWIDE

In any process of a user ID ruid (real POSIX user identification), a program cache can be set up and activated using the command call

pdbl -u -e size

for all existing and subsequent processes of the user ID. A background process with the program name dbluruid is created to hold the program cache.

size is the size of the program cache in megabytes. The scope Group sets up a memory pool of the size entered. The upper limit value is not defined by pdbl but is defined instead by the system-specific and task-specific settings.

SESSIONWIDE

In any process, the command call

pdbl -s [sid] -e size

sets up and automatically activates a program cache for all existing and subsequent processes in the session sid. If sid is not indicated, the current session will automatically be used.

The scope Group sets up a memory pool of the size entered. The upper limit value is not defined by pdbl, but is defined instead by the system-specific and task-specific settings. The size of the pool cannot exceed the ADDRESS-SPACE-LIMIT of the user ID.

A background process with the program name dblssid is created to hold the program cache. If sid is different from the current process, the session must already exist and be active for the same user ID as that of the current process. This means that a user can only refer to his own sessions.

Example

$ pdbl -u -e 20     # set up program cache for all processes of the user ID

$ ps -ef
     UID   PID  PPID  C    STIME TTY      TIME CMD
   GUEST   206     1  0 16:04:01 ?        0:00 dblu101
   GUEST   204   203  0 15:59:59 pts/0    0:03 [sh]
   GUEST   207   204  0 16:04:04 pts/0    0:05 [ps]

$ pdbl -s -e 20     # set up program cache for the current session

$ ps -ef
     UID   PID  PPID  C    STIME TTY      TIME CMD
   GUEST   210     1  0 16:11:59 pts/0    0:00 dbls204
   GUEST   206     1  0 16:04:01 ?        0:00 dblu101
   GUEST   211   204  0 16:12:01 pts/0    0:01 [ps]
   GUEST   204   203  0 15:59:59 pts/0    0:03 [sh]