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
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 33.7.
The DCL command
PMDF COUNTERS/CLEAR or the PMDF QM command
COUNTERS CLEAR may be used to reset the counters to zero.
When the command procedure
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.2 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
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"
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.
2 On OpenVMS systems a $MGBLSC call is used to create a system-wide, writeable global section. That section is then turned into a permanent, writeable, global page-file section via a call to $CRMPSC.