NAME
maxdsiz, maxdsiz_64bit — maximum size (in bytes) of the data segment for any user process
VALUES
Default
32bit: 256 MB
64bit: 1 GB
Allowed values
32 bit minimum: 0x40000
32 bit maximum: 0xfffff000
64 bit minimum: 0x40000
64 bit maximum: 0x3ffbfffffff
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 variables 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 at the next reboot.
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.
What Other Tunable Values Should Be Changed at the Same Time?
The
maxssiz
tunable should be considered because it too limits swap usage
by process stack segment.
WARNINGS
All HP-UX kernel tunable parameters are release specific.
This parameter may be removed or have its meaning changed in
future releases of HP-UX.
AUTHOR
maxdsiz
was developed by HP.