| United States-English |
|
|
|
![]() |
HP-UX Reference > mmaxssiz(5)Tunable Kernel ParametersHP-UX 11i Version 1.6: June 2002 |
|
NAMEmaxssiz, maxssiz_64bit — maximum size (in bytes) of the stack for any user process DESCRIPTIONUser 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 which sets the upper limit to their size. However, text, data and stack segments may have a smaller maximum enforced via the maxtsiz, maxdsiz and maxssiz tunables. maxssiz and maxssiz_64bit define the maximum size of the stack segment for 32-bit and 64-bit processes. The stack segment contains the actual program stack and the storage space for registers on a process or thread context switch. Restrictions on ChangingChanges to this tunable take effect only for processes started after the modification. In addition, a process which modifies it's rlimit for the stack segment propagates the modified limit to all child processes, thereby exempting them from any future modification of maxssiz. When Should the Value of This Tunable Be Raised?maxssiz should be raised if user processes are generating the console error message: Warning: maxssiz value too small. Processes generating this error message will likely terminate with the segmentation violation error SIGSEGV and dump core. What Are the Side Effects of Raising the Value?Raising this tunable by definition allows larger stack segments for every process. This means that maxdsiz and maxssiz function as limitations on the amount of swap space which can be reserved or used by each process. Therefore, using more virtual address space does not translate directly to using more physical address space because virtual pages can be swapped out. If swap space on the machine is near capacity, raising this tunable will increase the amount of swap that is reservable per process. This would allow a process with a memory leak, or written to use a great deal of memory, to reserve more swap, and possibly exhaust the swap space on the system. It is also important to realize that for 32 bit user processes, data and stack are located contiguously. Raising the amount of virtual address space reserved for the stack segment implies lowering the amount of virtual address space for the data segment. In other words, raising maxssiz may cause user processes which use all (or nearly all) of the previously available data area to fail allocation with the ENOMEM error, even with maxdsiz set above the current amount of memory allocated for data by this process. When Should the Value of This Tunable Be Lowered?This tunable should be lowered if swap space is at a premium on the system, and several poorly written programs, or malicious programs, are using swap space to the detriment of more critical user processes. For example, several students at a university might execute less than production level code and leak memory all over the place. |
||||||||||||||||||||||||||||
|
|||||||||||||||