Consultor Eletrônico



Kbase 20366: HP-UX 11 Configurable Memory Allocation Management Parameters
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   16/10/2008
Status: Verified

GOAL:

HP-UX 11 Configurable Memory Allocation Management Parameters

GOAL:

HP-UX Memory Kernel Parameters

FACT(s) (Environment):

HP-UX 11 32-bit
HP-UX 11 64-bit

FIX:

Settings recommended by Progress are for Progress applications. The values required by Progress must be added to the current kernel parameter values. In other words these recommendations do not take into account the requirement of UNIX operating system and/or any other applications that use shared memory and semaphores.

PA-RISC hardware supports the allocation of up to 2GB of Virtual memory to a single process. This memory is divided between text space where programs are stored, data space (globals, statics, locals to main(), strings, etc.), dynamic storage (space allocated by malloc(), stack, registers, etc.), and approximately 200MB reserved for other purposes.

Most processes never need that much room and furthermore, the 2GB limit exceeds the installed disk space on many systems. The three configurable kernel parameters place protective limits on allocation of process space are:

- maxtsiz

This is maximum text segment space used by the unchanging executable-code part of the program.

   A) maxtsiz for 32-bit processors:

      Minimum = 0x40000 (4MB)
       Maximum = 0x7B033000 (approximately 2GB)
       Default = 0x4000000 (64MB)

   B) maxtsiz_64bit for 64-bit processors:

       Minimum = 0x40000 (4MB)
       Maximum = 4398046511103 (approximately 4GB)
       Default = 0x4000000 (64MB)

- maxdsiz and maxdsiz_64bit

The dynamic storage segment (DSS) space used for dynamic storage (malloc() allocation space), stack space, register storage, etc.

   A) maxdsiz for 32-bit processors:

       Minimum = 0x400000 (4MB)
       Maximum = 0x7B03A000 (approximately 2GB)
       Default = 0x4000000 (64MB)

    B) maxdsiz_64bit for 64-bit processors:

       Minimum = 0x400000 (4MB)
       Maximum = 4396972769279
       Default = 0x4000000 (64MB)

- maxssiz and maxssiz_64bit

Data-storage segment space used for arrays and other fixed data structures.

   A) maxssiz for 32-bit processors:

       Minimum = 0x4000 (16KB)
       Maximum = 0x17F00000 (approximately 200MB)
       Default = 0x800000 (8MB)

    B) maxssiz_64bit for 64-bit processors:

       Minimum = 0x4000 (16KB)
       Maximum = 1073741824
       Default = 0x800000 (8MB)

Selecting limits that meet the needs of all users on the system while also protecting all users from runaway programs or abuses by others requires a thorough understanding of the individual users program needs.

When selecting values, be aware that the limits chosen for maxtsiz, maxdsiz, and maxssiz are safety nets to prevent monopolization of virtual memory resources to the detriment of other users. They are not intended to restrict individual user access to needed space.

maxtsiz, maxdsiz, and maxssiz are usually set to values whose combined totals can exceed available swap space. This is appropriate because most user program requirements are significantly less than the limit values imposed by these parameters, and selecting values that protect users from occasional malfunctions rather than using smaller values that tend to ration space among users improves overall system performance for everyone on the system.

note: Maxtsiz, maxdsiz, and maxssiz parameters replace the generic UNIX parameter maxumem.