Skip to main content

We are going to be getting a server with 4TB of memory  (yes... 4TB,,, not GB..) This is an HP Superdome  We are SEE 6.0SP2.    For years we have had in our ENV for Red Hat dynamic_memory_limit=50000000.  I am unclear from the documentation how this can be taken advantage of.  If I just eliminate it, will the OS and RTS handle this by taking the top off it or restricting it to 0?  Looking to really maximize this huge memory allocation.

We are going to be getting a server with 4TB of memory  (yes... 4TB,,, not GB..) This is an HP Superdome  We are SEE 6.0SP2.    For years we have had in our ENV for Red Hat dynamic_memory_limit=50000000.  I am unclear from the documentation how this can be taken advantage of.  If I just eliminate it, will the OS and RTS handle this by taking the top off it or restricting it to 0?  Looking to really maximize this huge memory allocation.

The documentation for dynamic_memory_limit appears to be a bit confused. The bulk of it suggests it only applies to ACUCOBOL-GT programs, but it also refers to CICS.

Are you using ACU? If so, one of the ACU forums would probably be a better place to ask. If not, are you using CICS? If neither of those is the case, the documentation suggests that the tunable has no effect at all.

In either case: you wrote "in our ENV". If "ENV" means the process environment, then note that run-time tunables are set in a configuration file, not the environment. An environment variable named "dynamic_memory_limit" shouldn't have any effect on Server Express. For ACUCOBOL-GT (eXtend), tunables in the environment have to be in block capitals, so again "dynamic_memory_limit" shouldn't have any effect there.

We are going to be getting a server with 4TB of memory  (yes... 4TB,,, not GB..) This is an HP Superdome  We are SEE 6.0SP2.    For years we have had in our ENV for Red Hat dynamic_memory_limit=50000000.  I am unclear from the documentation how this can be taken advantage of.  If I just eliminate it, will the OS and RTS handle this by taking the top off it or restricting it to 0?  Looking to really maximize this huge memory allocation.

According to the eXtend documentation, the default for DYNAMIC_MEMORY_LIMIT is the maximum.

Also note:

- The heap space available to a process will be constrained by the address space. 32-bit programs are only able to address 4GB each of address space, and much of that is taken up by non-heap use. Address-space and heap fragmentation will also limit what can be allocated.

- On Linux and other UNIX-like OSes, resource limit settings (see man pages for setrusage and ulimit) can further limit heap space.

- Tuning an application mix to make good use of a large pool of physical memory is a complex process and pretty much impossible to do without analyzing memory use in real-world scenarios.