HP-UX Reference (11i v2 04/09) - 5 Miscellaneous Topics (vol 9)
m
maxdsiz(5) maxdsiz(5)
(Tunable Kernel Parameters)
NAME
maxdsiz, maxdsiz_64bit - maximum size (in bytes) of the data segment for any user process
VALUES
Default
32bit:
1GB
64bit: 4GB
Allowed values
32 bit minimum: 0x40000
32 bit maximum: 0xfffff000
64 bit minimum: 0x40000
64 bit maximum: 0x3ffbffff000
DESCRIPTION
User programs on HP-UX systems are composed of five discrete segments of virtual memory: text (or
code), data, stack, shared, and I/O. Each segment occupies an architecturally defined range of the virtual
address space that sets the upper limit to their size, but text, data and stack segments may have smaller
maxima enforced by the maxtsiz, maxdsiz, and maxssiz tunables.
This tunable defines the maximum size of the static data storage segment for 32-bit and 64-bit processes.
The data storage segment contains fixed data storage such as globals, arrays, static variables, local vari-
ables in main(), strings, and space allocated using
sbrk() and malloc(). In addition, any files memory
mapped as private and shared library per-invocation data also resides in the data segment.
Who is Expected to Change This Tunable?
Anyone.
Restrictions on Changing
Changes to this tunable take effect only for processes started after the modification. In addition, a process
which modifies it’s
rlimit for the data segment propagates the modified limit to all child processes,
thereby exempting them from any future modification of maxdsiz.
When Should the Value of This Tunable Be Raised?
This tunable should be raised if user processes are receiving the [ENOMEM] error message:
exec(2): data exceeds maxdsiz
or
exec(2): data exceeds maxdsiz_64bit.
This may or may not cause a process failure depending on the program code.
What Are the Side Effects of Raising the Value?
Raising this tunable by definition allows larger data segments for every process. The
maxdsiz and
maxssiz tunables limit the amount of swap space that can be reserved or used by each process, but
using more virtual address space does not translate directly into using more physical address space
because virtual pages can be swapped out.
Note that if swap space on the machine is near capacity, raising this tunable increases the amount of
reservable swap per process. This could exhaust the swap space on the system by allowing a process with
a memory leak or a malicious program that uses huge amounts of memory to reserve too much swap
space.
When Should the Value of This Tunable Be Lowered?
This tunable should be lowered if swap space is at a premium on the machine and programs that are
using too much swap space are affecting the execution of other critical user processes.
What Are the Side Effects of Lowering the Value?
If swap space on the machine is near capacity, lowering this tunable will limit the amount of swap
reserved for each process and will cause the processes that consume large amounts of swap space to
receive the [ENOMEM] error.
HP-UX 11i Version 2: September 2004 − 1 − Hewlett-Packard Company Section 5−−189