Maximum Memory (-mmax)
- Last Updated: February 11, 2026
- 2 minute read
- OpenEdge
- Version 13.0
- Documentation
Maximum Memory (-mmax)
Use Maximum Memory (-mmax) to change the initial amount of memory
allocated for r-code segments, in kilobytes.
| Operating system and syntax | UNIX / Windows |
-mmax
n
|
||
|---|---|---|---|---|
| Use with | Maximum value | Minimum value | Single-user default | Multi-user default |
| Client Session | 65,534 | 1 | 3,096 | 3,096 |
- n
- The amount of memory allocated for r-code segments.
The AVM dynamically allocates space for r-code segments in the execution
buffer as needed. When memory allocation reaches the value specified by the Maximum Memory
(-mmax) value, the AVM writes nonactive segments to the
r-code swap file (rcd) to make room for new active procedures. (The AVM
writes library-stored r-code to the r-code swap file only if you specified the PROLIB Swap
(-pls) startup parameter.) If you have large procedures
or deeply nested procedure calls, you can use -mmax to increase the initial size of the
execution buffer to reduce disk I/O activity required to swap segments to the r-code swap
file.
The -mmax value does not limit the amount
of memory available for r-code segments. If the AVM requires more space in the execution
buffer and cannot regain enough space by swapping inactive segments to the r-code swap
file, the AVM allocates more memory.
The -mmax limit is a soft limit; so if your application needs to exceed
the limit, the AVM automatically increases it and issues a WARNING message.
The WARNING is written to the current output (if there is current output)
and to the log file (LG).
You can force OpenEdge to adhere to the specified -mmax limit by starting
the session with the Hardlimit (-hardlimit) startup parameter.
When you use the -hardlimit startup parameter, OpenEdge issues the
WARNING message when you exceed the Maximum Memory limit. It also issues
a message that a resource limit was reached and raises an untrappable STOP
condition. Note also that -hardlimit also enforces the limits set by the
Directory Size (-D), the Local Buffer Size (-l), and the Nested Blocks (-nb) startup parameters. The STOP
condition is raised when any of the specified limits is reached.
Use Statistics (-y) and Segment Statistics (-yd) to see segment allocation information.
See also the PROLIB Swap (-pls) startup parameter.