For performance reasons, each node running PMDF keeps a cache of
channel counters in memory using a permanent, global, writeable
page-file section. As a process on a node enqueues and dequeues
messages, it updates the counters in its own in-memory cache. The DCL
command PMDF COUNTERS/SYNCHRONIZE or the PMDF QM command COUNTERS
SYNCHRONIZE may be used to cause each node in the cluster to merge its
node specific, in-memory cache with the cluster-wide, on-disk database
of channel counters, PMDF_TABLE:counters.dat
. The
synchronization is accomplished through a combination of light-weight
detached process running on each node and cluster-wide resource locks.
The synchronization command signals each detached process on each node.
Upon being signalled, each detached process adds the values of its
in-memory counters to those in the cluster-wide, on-disk database and
then zeroes its own in-memory counters if the update was successful.
SYSLCK privilege is required to perform a synchronization.
The DCL command PMDF COUNTERS/SHOW or the PMDF QM command COUNTERS SHOW may be used to show the values of the cluster-wide counters as stored in the on-disk database. Note that these commands will automatically perform a synchronization of the node-specific caches with the cluster-wide database. The PMDF counters may also be viewed via a web interface; see Section 32.7 .
The DCL command PMDF COUNTERS/CLEAR or the PMDF QM command COUNTEERS CLEAR may be used to reset the counters to zero.
When the command procedure SYS$STARTUP:pmdf_startup.com
is
executed, it starts running the single detached process used to perform
synchronizations for that node. The process, upon starting, will create
the global section representing the in-memory cache and ensure that the
cluster-wide database of channel counters exists.² After
performing these two steps it will trim its working set and hibernate,
waiting for synchronization commands. SYSGBL and PRMGLB privileges are
required to create the global section.
To prevent the detached processes from being started, define the
logical PMDF_NOCOUNTERS prior to executing
pmdf_startup.com
.
By default, the counters synchronization process automatically synchronizes the in-memory cache values to the on-disk database every thirty minutes. This time interval may be changed by defining a PMDF_COUNTER_INTERVAL logical. If defined, PMDF_COUNTER_INTERVAL should be a system level logical definition, equating to an OpenVMS delta time, e.g.,
$ DEFINE/SYSTEM PMDF_COUNTER_INTERVAL "0 00:15:00"Note that SYS$BINTIM requires an initial day value; be sure to specify the leading 0 for the day value.
The PMDF RESTART and SHUTDOWN commands may be used to restart or shutdown the detached process on all nodes. However, there should be no need to do this. Note that the processes are not affected by changes to the PMDF configuration.