![]() |
![]() HP OpenVMS Systemsask the wizard |
![]() |
The Question is: When i run a Cobol program, sometimes we have the following error: LIB-F-INSVIRMEM 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 them! Thanks 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.)
|