The Question is:
the sysuaf.dat file has a max bucket size of 3 and global buffer count of 4. We
have 2474768 free global pages, 238 free global sections. the gblpagfil is
150000. Changing gblpagfil to 160000 still has no effect on the error. The
error occurs with any us
ername, but on only one node of a 4 node cluster. Also there are no statistics
on the file. Checking through install shows no RMS$ entries, so gblpagfil
should have loads of free space even before I increased the value. What have
The Answer is :
The OpenVMS Wizard finds the pairing of the CRMP and DME messages rather
odd. The underlying error could be the result of insufficient PGFLQUOTA,
or potentially due to excessive consumption of process dynamic memory.
Possibly due to too many process logical names being defined, or due to
too many process permanent files open. Use SHOW PROCESS/MEMORY and see
if the free space on a failing process is lower than a successful process.
If this error only occurs in a batch job, check SHOW RMS to ensure the
multibuffer count for sequential disk files is set to 0.
Although the size of the process dynamic memory area can be increased
using the system parameter CTLPAGES, it would be preferable to reduce
the demand on the resource.
Prior to OpenVMS V7.3, RMS can return the DME error mapping the global
section used for global buffers for exactly two specific reasons:
o The $CRMPSC call returned a size smaller than the amount
requested for the section.
o The existing section is corrupt -- RMS performs a sanity
check on the mapped section.
If the $CRMPSC itself fails, RMS returns that status with the CRMP
Starting with V7.3, RMS now distinguishes between the two conditions,
returning the BADGBH error for the second case.
If the problem persists over a system reboot, then the problem is
likely a resource issue -- there are several articles available via
http://www.itrc.hp.com/service/james/CPQhome.do that detail RMS resource requirements for
global buffers. Otherwise, the problem was a corrupt section.
The OpenVMS Wizard would expect that the BADGBH status enhancement
might well be (or already has been) back-ported to several other
recent OpenVMS releases as a result of the standard kit ECO processing.
The OpenVMS Wizard would also encourage cleaning out the cruft that
invariably tends to build up in MODPARAMS.DAT over the years, and using
several passes of the AUTOGEN tool (with FEEDBACK) to regenerate the
system parameters to more appropriate values. While working within
MODPARAMS.DAT, please remove absolute system parameter assignments when
a MIN_ or MAX_ or ADD_ setting could be used, and remove any settings
for old releases or old products.
DME, dynamic memory exhausted
Facility: RMS, OpenVMS Record Management Services
Explanation: OpenVMS RMS is unable to allocate additional process memory
for the given request (usually an RMS $OPEN or $CONNECT system
service call). Such requests can require a large number of
buffers, large buffer sizes, or both.
User Action: Increase the amount of available process memory, or decrease
the size or number of requested buffers.
For process permanent files (such as DCL OPEN, DCL command
procedures using "@filename," SYS$INPUT, SYS$OUTPUT,
SYS$ERROR, and batch log files), the size of available memory
is governed by the SYSGEN parameter PIOPAGES. The number of
buffers and their sizes is governed by the DCL command SET
RMS. Only 63 process permanent files can be open at once; any
attempt to open more such files produces this message.
For image files, process memory is governed by the UAF
parameter PGFLQUOTA and the SYSGEN parameter VIRTUALPAGECNT
(on VAX systems only). The size and number of buffers are
controlled by the application, the DCL command SET RMS, or
Image buffer space can also be controlled with the linker
option of IOSEGMENT, which can determine the amount of fixed
RMS memory allocated and the process region in which it is
allocated. See the OpenVMS Linker Utility Manual for further
CRMP, CRMPSC system service failed to map global buffers
Facility: RMS, OpenVMS Record Management Services
Explanation: There are not enough available global sections (SYSGEN
GBLSECTIONS), global pages (SYSGEN GBLPAGES), or global page
file entries (SYSGEN GBLPAGFIL) to grant the requested number
of global buffers or to create the global section associated
with statistics enabled on the file.
This message is associated with a system status code returned
from the $CRMPSC (Create and Map Section) system service
called from the RMS file system to map global buffers.
User Action: If statistics is enabled on the file, execute a SET
FILE/NOSTATISTICS command on the file until the appropriate
system generation parameters can be increased. Otherwise, try
the following, as appropriate:
o Reduce the number of global buffers requested in the FAB$W_
o Execute a SET FILE/GLOBAL_BUFFER=0 command on the file and
retry the Connect service.
o Wait until an orderly shutdown of the system can be
arranged; then increase the appropriate system generation
parameters and retry the operation.