Shared memory usage

This section describes how memory is shared among processes.

The UNIX system controls all the physical memory in the system, but shares memory with other processes (at UNIX's expense). D3 requires that a certain amount of this memory be allocated to D3 (shared) from the total system memory available.

The D3 configuration file, /usr/lib/pick/pick0, contains two statements that determine how much shared memory D3 allocates. The core statement specifies how much shared memory D3 requires for the operation of D3, and the BASIC statement specifies how much additional memory is required for the efficient operation of FlashBASIC programs.

The D3 installation process inserts default values for the core and BASIC statements into the D3 configuration file, which tries to accommodate the needs of most sites. However, the system performance can be improved by adjusting the shared memory requirements to more accurately reflect the system conditions.

As of D3 Linux 9.0 for Redhat Enterprise Linux 6, the installation procedure modifies the SHMMAX kernel parameter. In previous releases, this was done dynamically upon D3 startup. However, this is no longer permitted by Linux. As such, modifying this parameter manually might have an adverse affect on the ability of D3 to efficiently allocate memory.

This section shows how to calculate accurate values for the core and BASIC statement values.