maxdsiz(5) maxdsiz(5)
Tunable Kernel Parameters
NAME [Toc] [Back]
maxdsiz, maxdsiz_64bit - maximum size (in bytes) of the data segment
for any user process
VALUES [Toc] [Back]
Default
32bit: 1 GB
64bit: 4 GB
Allowed values [Toc] [Back]
32 bit minimum: 0x40000
32 bit maximum: 0xfffff000
64 bit minimum: 0x40000
64 bit maximum: 0x3ffbffff000
DESCRIPTION [Toc] [Back]
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 [Toc] [Back]
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
Hewlett-Packard Company - 1 - HP-UX 11i Version 2: August 2003
maxdsiz(5) maxdsiz(5)
Tunable Kernel Parameters
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 [Toc] [Back]
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 [Toc] [Back]
maxdsiz was developed by HP.
SEE ALSO [Toc] [Back]
getrlimit(2), setrlimit(2), maxtsiz(5), maxssiz(5).
Hewlett-Packard Company - 2 - HP-UX 11i Version 2: August 2003 [ Back ] |