New Stuff in Liberty 184.108.40.206 - Region and Memlimit messages
Managing memory usage in a server can be tricky. Finding a good Java heap size and sorting out which garbage collection policy to use can take some investigation. But on z/OS there are other factors at play.
The Java heap lives above the bar, but system configuration can limit how much of that vast space you can actually use.
And even with the heap above the bar, there are lots of control structures and other things that live below the bar (above and below the line). And other configuration can limit how much of that space you are allowed ot use.
If you run into problems, Level 2 can usually tell from a system dump what configuration has limited your access to storage, but wouldn't it be nice to just be able to easily tell yourself? There are several different ways REGION and MEMLIMIT restrictions can be imposed and you might be picking up a limit you didn't realize you had.
Well, we've made it easier in 220.127.116.11 by introducing two new messages:
CWWKB0125I: This server requested a REGION size of xKB. The below-the-line storage limit is xMB and the above-the-line storage limit is xxxxMB.
CWWKB0126I: MEMLIMIT=xxxxxxxx. MEMLIMIT CONFIGURATION SOURCE=xxxx.
At startup the server digs around in system control blocks and comes up with the values to fill into these two messages to tell you the memory restrictions that are active for this server. For MEMLIMIT we can even tell you where it came from (JCL, OMVS segment, etc).
Hopefully these messages can help you determine if you are really getting access to all the memory you thought you had.