Last week I had a crisis on my test system because I was not careful enough with my definitions.
I wanted to test out a very large buffer pool so typed in ALTER BUFFPOOL(3) BUFFERS(999999999) LOCATION(ABOVE). This worked fine for about 10 seconds until all my other work stopped running. This was because I had asked for a huge amount of storage. The impact was
- MQ suddenly started paging.
- My TSO was totally unresponsive ( Anyone else would have been affected if they were logged on)
- My local page packs all filled up - and so ran out of auxiliary storage. Adding more paging space did not help - they were not big enough.
I tried taking a dump of MQ so I could debug the problem. This made it worse as the dump command had nowhere to copy the storage to - and the dump data sets were not big enough for my huge buffers.
I canceled MQ and changed the CSQINP1 to DEFINE BUFFPOOL(3) BUFFERS(9999) LOCATION(ABOVE) and restarted MQ - this had the same paging problems. I was starting to panic, as my little 10 minute test was now over 1 hour, and it still was not working.
I then changed the MQ JCL and changed MEMLIMIT=NOLIMIT to MEMLIMIT=3G - MQ failed to restart because it could not get enough storage.
I went round to the developer who told me what to do.
- I needed to specify REPLACE on the DEFINE BUFFPOOL(3) BUFFERS(9999) LOCATION(ABOVE) command. If you do not specify replace then the last values are used, the define command is ignored - so my huge buffer pools values were still being used. See Matt Leming's excellent blog on this.
- I have changed EXEC PGM=CSQYASCP, MEMLIMIT=NOLIMIT to MEMLIMIT=3G. This will stop me allocating such big buffer pools without proper planning!
- Plan your changes to buffers pools - especially when you are using big buffers.
- Your z/OS sysprogs may be concerned about the real storage usage, virtual storage usage, and the size of the dump data sets, so you need to work with them.
- By specifiying a MEMLIMIT size will help protect you from finger trouble
I suggest you check these values yourself and make sure you do not have the same problems I experienced. Fortunately I was the only one affected