HP OpenVMS Systems

ask the wizard
Content starts here

RMS dynamic memory exhausted? (DME, CRMP)

» close window

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
 I missed?

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_
                  GBC field.
                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.

answer written or last revised on ( 29-MAR-2002 )

» close window