HP OpenVMS System Manager's Manual, Volume 2:... |
Managing File System Data Caches |
|
|
| |
Selecting VIOC on an Alpha or I64 System
This makes sure that no memory is allocated to XFC in Step 4, when the system reboots with VIOC.$RUN SYS$SYSTEM:SYSMANSYSMAN>RESERVED_MEMORY REMOVE VCC$MIN_CACHE_SIZE /NOGLOBAL_SECTION
If you forgot to remove the VCC$MIN_CACHE_SIZE entry from the reserved memory registry in Step 1, memory is allocated to XFC even though XFC is not loaded. Nothing can use this memory. If this happens, use the Sysman utility's RESERVED_MEMORY FREE command to release this memory:
$RUN SYS$SYSTEM:SYSMANSYSMAN>RESERVED_MEMORY FREE VCC$MIN_CACHE_SIZE /NOGLOBAL_SECTION
Controlling the Size of the Cache ![]()
The way that you control the size of VIOC depends on whether
you have an OpenVMS Alpha, I64, or VAX system.
On OpenVMS Alpha or I64 Systems![]()
On OpenVMS Alpha and I64 systems, the size of VIOC is fixed at system startup time. The cache can't shrink or grow. The value of the static system parameter VCC_MAXSIZE specifies the size of the cache in blocks. By default it is 6400 blocks (3.2MB).
To change the size of VIOC on an OpenVMS Alpha or I64 system, follow these steps:
On OpenVMS VAX systems, you can use the static system parameter VCC_PTES to specify the maximum size of VIOC. This parameter specifies the size in pages. By default it is 2,000,000,000.
VIOC automatically shrinks and grows, depending on your I/O workload and how much spare memory is available on your system. As your I/O workload increases, the cache automatically grows, but never to more than the maximum size. And when your applications need memory, the cache automatically shrinks.
To change the maximum size of VIOC on an OpenVMS VAX system, follow these steps:
Displaying
VIOC Statistics ![]()
Use the DCL command SHOW MEMORY/CACHE/FULL to display statistics about the virtual I/O cache, as
shown in the following example:
$SHOW MEMORY/CACHE/FULLSystem Memory Resources on 10-OCT-2002 18:36:12.79Virtual I/O CacheTotal Size (pages)[1]2422Read IO Count[6]9577Free Pages[2]18Read Hit Count[7]5651Pages in Use[3]2404Read Hit Rate[8]59%Maximum Size (SPTEs)[4]11432Write IO Count[9]2743Files Retained[5]99IO Bypassing the Cache[10]88
| This example shows the output for the SHOW MEMORY/CACHE/FULL command on a VAX system. The command SHOW MEMORY/CACHE/FULL displays slightly different fields on an Alpha or I64 system. |
|
[1] Total
Size
|
Displays the total number of system memory
pages that VIOC currently controls.
|
|
[2] Free
Pages
|
Displays the number of pages controlled
by VIOC that do not contain cache data.
|
|
[3] Pages
in Use
|
Displays the number of pages controlled
by VIOC that contain valid cached data.
|
|
[4] Maximum
Size |
Shows the maximum size that the cache
could ever grow to.
|
|
[5] Files
Retained
|
Displays the number of files that are
closed but the file system control information is being retained
because they have valid data residing in the cache.
|
|
[6] Read
I/O Count
|
Displays the total number of read I/Os
that have been seen by VIOC since the last system.
|
|
[7] Read
Hit Count
|
Displays the total number of read I/Os
that did not do a physical I/O because the data for them was found
in the cache since the last system BOOT.
|
|
[8] Read
Hit Rate
|
Displays the read hit count and read
I/O count ratio.
|
|
[9] Write
I/O Count
|
Shows the total number of write I/Os
that have been seen by the cache since the last system BOOT.
|
|
[10] I/O
Bypassing
|
Displays the count of I/Os that for some
reason did not attempt to satisfy the request/update by the cache.
|
Enabling
VIOC ![]()
By
default, virtual I/O caching is enabled. Use the following system
parameters to enable or disable caching. Change the value of the
parameters in MODPARAMS.DAT, as follows:
| Parameter | Enabled | Disabled |
|---|---|---|
|
VCC_FLAGS (Alpha
or I64 )
|
1
|
0
|
|
VBN_CACHE_S (VAX)
|
1
|
0
|
Once you have updated MODPARAMS.DAT to change the value of the appropriate parameter, you
must run AUTOGEN and reboot the node or nodes on which you have
enabled or disabled caching. Caching is automatically enabled or
disabled during system initialization. No further user action is
required.
Determining
if VIOC is Enabled ![]()
SHOW MEMORY/CACHE indicates whether VIOC caching is on or off on a running
system. (This is a lot easier than using SYSGEN.)
SYSGEN can be used to examine parameters before a system is booted. For example, you can check the system parameter VCC_FLAGS (on Alpha or I64) or VBN_CACHE_S (on VAX) to see if virtual I/O caching is enabled by using SYSGEN, as shown in the following Alpha example:
A value of 0 indicates that caching is disabled; the value 1 indicates caching is enabled.$RUN SYS$SYSTEM:SYSGENSYSGEN>SHOW VCC_FLAGS
Memory
Allocation and VIOC ![]()
The memory allocated
to caching is determined by the size of the free-page list. The
size of the virtual I/O cache can grow if one of the following conditions
is true:
The cache size is also limited by the following:
How is memory reclaimed from the cache? The swapper can reclaim memory allocated to the virtual I/O cache by using first-level trimming. In addition, a heuristic primitive shrinks the cache returning memory in small increments.
Adjusting
VIOC Size ![]()
The size
of the virtual I/O cache is controlled by the system parameter VCC_MAXSIZE.
The amount of memory specified by this parameter is statically allocated
at system initialization and remains owned by the virtual I/O cache.
To increase or decrease the size of the cache, modify VCC_MAXSIZE and reboot the system.
VIOC and
OpenVMS Cluster Configurations ![]()
The
cache works on all supported configurations from single-node systems
to large mixed-interconnect OpenVMS Cluster systems. The virtual
I/O cache is nodal; that is, the cache is local to each OpenVMS
Cluster member. Any base system can support virtual I/O caching;
an OpenVMS Cluster license is not required to use the caching feature.
| If any member of an OpenVMS Cluster does not have caching enabled, then no caching can occur on any node in the OpenVMS Cluster (including the nodes that have caching enabled). This condition remains in effect until the node or nodes that have caching disabled either enable caching or leave the cluster. |
|
|