The following guidelines help you determine appropriate buffer
pool values for your system.
If
xpanno or
xpanpt has
a value of 0, no expansion occurs.
- Set baseno for the I/O buffer to the
steady state value plus xpanpt.
You can
determine steady state by issuing the DISPLAY BFRUSE operator command.
CURR TOTAL minus CURR AVAIL gives the number of buffers in use. Repeat
this procedure several times, and take the average to determine the
steady state value. Be sure to include in your calculation displays
taken during times of peak network usage.
Any additional buffers
needed can be obtained using dynamic expansion.
- Define dynamic expansion so that pools are expanded one page at
a time.
To do this, define xpanno to
be the number of buffers that fit on one page. To calculate xpanno for
I/O buffers, use Table 2, and do the following
steps:
- Find the bufsize range in the table
that includes the bufsize value that was
specified for your system.
- Round up the current bufsize to the
largest even number that appears in that range. (Some channel-attached
SNA devices require that the I/O bufsize be
an even number of bytes. Therefore, VTAM® rounds
up bufsize to an even number if an odd number
is specified.)
- For one-page expansion, specify an xpanno value
that is equal to the number in the left column of this row (the number
of I/O buffers for each page).
- Tune the expansion increments (xpanno)
and expansion points (xpanpt) to keep CPU
overhead from dynamic buffering low.
- Expansion and contraction of buffer pools increase the amount
of real storage that VTAM requires.
If the buffer pools are continually expanding and contracting, you
should change the values specified for xpanno and xpanpt.
You can determine what values to specify by monitoring the output
of the DISPLAY BFRUSE operator command or the SMS buffer trace and
by modifying the values for xpanno and xpanpt accordingly.
- If the expansion point is set too small, VTAM might not be able to expand the buffer
pool fast enough if there is a rapid demand for buffers. Setting the
expansion point too small also causes the buffer pool to contract
frequently.
Message IST561I might indicate that storage is temporarily
unavailable because of this rapid demand. Adjust the xpanpt and xpanno values
to eliminate this problem.
The expansion point for I/O buffers
should be larger than the largest single request for buffers. Following
are examples of the largest single request:
- MAXBFRU allocation
- NetView® session monitor
trace buffer size
- JES/NJE TPBFSIZ
- If excessive expansion and contraction are a problem (especially
for LPBUF and CRPLBUF), define these buffers to expand two pages at
a time.
The buffer pool can expand and contract too frequently
if the expansion increment and expansion point are not large enough
to handle normal fluctuation in the pool. The I/O buffer pool is prone
to this type of thrashing from application programs that send very
large messages. VTAM always
rounds up an expansion increment to fill a multiple of a full page.
- Initially allocate one page to SFBUF.
Any elements (where an element consists
of a buffer, whose size is rounded to a multiple of 8 bytes, plus
a 16-byte header) that are required over a page should be controlled
by dynamic expansion.
- Set CRPLBUF.
In environments where many sessions
come up simultaneously because of either the VARY LOGON operator command
or the LOGAPPL operand on a definition statement, you might need to
preallocate enough CRPLBUF buffers to handle the influx of requests.
- Set LFBUF.
LFBUF
is used only for EAS values (on APPL
definition statements) less than 30. Because this pool is not used
often, a baseno value of 2 is recommended.
If you are using TSO, a buffer from the LFBUF buffer pool is used for each TSO user who is logged
on. The pool should be expanded one page at a time.
- Specify xpanlim for the IOBUF pool.
xpanlim is
useful in constraining the I/O buffer pool from excessive growth,
particularly when a logical unit attempts to flood VTAM with requests (HOT I/O). Typically, the
logical unit is malfunctioning; however, the logical unit may be functioning
correctly but may not have had proper session parameters specified.
Specifying xpanlim allows VTAM to
detect such sessions before complete CSA exhaustion and, if the HOTIOTRM
Start Option is also specified, terminate such sessions without the
system being impacted.
To set xpanlim, issue DISPLAY
BFRUSE,BUFFER=IO find the peak usage, and set the limit somewhat above
that peak. Because xpanlim is specified in units of 1024 (K)
bytes, you will need to convert buffers to KB. Use Table 2 to determine the number of I/O buffers
of a given size that fit on a 4K page. Use the equation K=(number
of buffers/number of buffers per page)*4.
Also,
bear in mind that in order for the expansion limit to be meaningful,
CSA must be available were the expansion limit to be reached and VTAM must not reach any CSA limit
value that has been specified. In other words, ensure that you have
adequate CSA available in the system and your CSA limits allow VTAM to actually allocate buffers
up to your expansion limit.
Note: In
Table 2,
where it lists a range of buffer sizes for a given buffers per page
value, whenever possible use the highest value in the range. Some
devices have specific I/O buffer size requirements that may prevent
using the highest value.
Table 1 lists the number of buffers
per page for the different buffer pools.
Table 1. Number
of buffers per pageBuffer pool |
Default storage type |
Buffers per page |
---|
APBUF |
Fixed |
56 |
BSBUF |
Fixed |
14 |
CRA4 |
Pageable |
1 |
CRA8 |
Pageable |
NA |
CRPLBUF |
Pageable |
25 |
LFBUF |
Fixed |
30 |
LPBUF |
Pageable |
2 |
SFBUF |
Fixed |
32 |
SPBUF |
Pageable |
21 |
TIBUF |
Fixed |
6 |
T1BUF |
Fixed |
4 |
T2BUF |
Fixed |
2 |
XDBUF |
Fixed |
5 |
Table 2. I/O
buffer size and number of buffers per pageNumber of buffers per page |
Range of buffer sizes for MVS™ (with 4K paging) |
Range of buffer sizes for MVS using data encryption facility
(with 4K paging) |
---|
1 |
1958 - 3992 |
1951 - 3985 |
2 |
1270 - 1957 |
1263 - 1950 |
3 |
934 - 1269 |
927 - 1262 |
4 |
726 - 933 |
719 - 926 |
5 |
590 - 725 |
583 - 718 |
6 |
494 - 589 |
487 - 582 |
7 |
422 - 493 |
415 - 486 |
8 |
358 - 421 |
351 - 414 |
9 |
318 - 357 |
311 - 350 |
10 |
278 - 317 |
271 - 310 |
11 |
256 - 277 |
256 - 270 |
|