Uncovering Page Frames Used By Buffer Pools
If any of you lucky people are already running DB2 10 for z/OS, you will probably have investigated the possibility of converting at least some of your buffer pools to use 1MB page frames (if not, you should consider it!). This requires you to be page-fixing the relevant buffer pools (via PGFIX-YES) and also needs some preparation work from your friendly neighbourhood z/OS Systems Programmers to reserve the storage (via the LFAREA parameter in the IEASYSnn PARMLIB member) but there are some significant potential performance benefits for the right workload.
One question that often comes up in connection with large page frames is how to tell how many 4KB/1MB page frames are being used by a given buffer pool. This can be accomplished by appending the SERVICE=4 parameter to the end of the DISPLAY BUFFERPOOL command, as follows:
-DBA1 DIS BUFFERPOOL(BP0) SERVICE=4
DSNB401I -DBA1 BUFFERPOOL NAME BP0, BUFFERPOOL ID 0, USE COUNT 246
DSNB402I -DBA1 BUFFER POOL SIZE = 5000 BUFFERS AUTOSIZE = NO 641
ALLOCATED = 5000 TO BE DELETED = 0
IN-USE/UPDATED = 172
DSNB406I -DBA1 PGFIX ATTRIBUTE – 642
CURRENT = NO
PENDING = NO
PAGE STEALING METHOD = LRU
DSNB404I -DBA1 THRESHOLDS – 643
VP SEQUENTIAL = 80
DEFERRED WRITE = 30 VERTICAL DEFERRED WRT = 5, 0
PARALLEL SEQUENTIAL =50 ASSISTING PARALLEL SEQT= 0
DSNB999I -DBA1 DSNB1DBP SERVICE( 4 )OUTPUT
DSNB999I -DBA1 4K PAGES 5000
DSNB999I -DBA1 1M PAGES 0
DSN9022I -DBA1 DSNB1CMD ‘-DIS BUFFERPOOL’ NORMAL COMPLETION
The additional lines (in bold) provide a breakdown of the number of 4KB and 1MB pages used by the buffer pool – remember that it’s possible for a given pool to use both sorts of pages.