HP OpenVMS Systems

ask the wizard
Content starts here

Debugging Application Errors (INSVIRMEM, etc)?

» close window

The Question is:

When i run a Cobol program, sometimes we have the following error:
I tried ti increase the values of  PGFLQUO and
VIRTUALPAGECNT but doesn't work
Which sentences of the program Cobol use virtual memory?, we try to modified

The Answer is :

  Every statement, every instruction, every item of data, occupies
  virtual memory.
  Nearly every part of an application imaginable on OpenVMS can and
  will consume some amount of virtual memory.  Large data structures
  and particularly large arrays of data structures do tend to be
  among the larger of the more common consumers, but are certainly
  not the only consumers.
  If you are receiving an insufficient virtual memory error, your
  application is consuming more virtual memory than is available.
  This can be a result of a coding error (wrong arguments, a leak,
  etc), a corruption within the run-time environment, or otherwise.
  If you wish to determine use, you will want to review constructs
  such as arrays and recursion as these can consume quantities of
  virtual memory for the stack.  Program instructions and non-stack
  storage require virtual storage, as well.  In the case of code
  and non-stack data, you can review the compiler listings and the
  image maps for the application image(s) for information on virtual
  memory usage.  Some library routines, such as those that allocate
  memory pool or that perform SORT/MERGE operations, can also consume
  quantities of virtual memory.
  Whether or not you increased PGFLQUOTA and/or VIRTUALPAGECNT (and
  by how much, and to what value?), you need to find the coding error,
  or you need to increase the PGFLQUOTA value further.  The answer
  remains the same as that listed in the OpenVMS FAQ and discussed
  elsewhere here in Ask The Wizard -- if you see the INSFVIRMEM
  error, then you have (deliberately or unintentionally) asked for
  more virtual memory or more backing storage in the pagefile (as
  limited by the process PGFLQUOTA quota) than is available.
  For basic debugging information, please start with topic (1661).
  For information on decoding details provided to you with the
  error and for general debugging information, please see topics
  including (4129) and (7552).
  Please review the discussion of this Insufficient Virtual Memory
  (INSVIRMEM) error in the OpenVMS Frequently Asked Questions (FAQ)
  document, and various of the existing topics here in Ask The Wizard
  including (9565), (9571), (9501), (8892), (7857), (6524), (6507),
  (6399), (5166), (3479) and likely various others.
  And if you have not already done so here, please do remember to
  use the OpenVMS Debugger -- this single programming tool is one
  of the most important and most useful tools available to an OpenVMS
  programmer.  The OpenVMS Wizard strongly recommends all programmers
  learn about and use the OpenVMS Debugger.  (Details on the Debugger
  are available in the OpenVMS documentation set -- ranging from
  the basic usage and commands, to programming the debugger to wait
  hours or days for particular errors or corruptions to arise, to
  dynamically activating the Debugger entirely under program control.)

answer written or last revised on ( 6-MAY-2004 )

» close window