![]() |
![]() HP OpenVMS Systemsask the wizard |
![]() |
The Question is: Fortran Call to QIOW returns the following error on a read with the buffer size set over 1024 (2048) The executing user account has sufficient quotas assigned. This application works OK on a similar system. Exceeded quota Symbolic stack dump follows module name routine name line rel PC abs PC PLREAD PLREAD 1797 0000006D 0000274D DCNCOMFHOUR DCNCOMFHOUR 66 000000E4 00001C44 POLL63$MAIN POLL63$MAIN 139 000001C1 00000DC1 000040C1 000040C1 0000367E 0000367E 0000409C 0000409C The Answer is : Check the system parameter MAXBUF. It needs to be set to a value larger than your buffer size, though exactly how much larger depends on the particular device you are issuing the I/O to. For example, terminal devices can require an additional 112 bytes (or more). You must also ensure the process has sufficient process BYTLM and BIOLM quota. Note than MAXBUF is a dynamic system parameter and can be changed without a reboot. Use a sequence similar to the following: Older OpenVMS releases: $ RUN SYS$SYSTEM:SYSGEN SYSGEN> USE ACTIVE SYSGEN> SET MAXBUF 10000 SYSGEN> WRITE ACTIVE More recent OpenVMS releases: $ RUN SYS$SYSTEM:SYSMAN SYSMAN> PARAMETERS USE ACTIVE SYSMAN> PARAMETERS SET MAXBUF 10000 SYSMAN> PARAMETERS WRITE ACTIVE Either of the above sequences will reset the value of MAXBUF temporarily, and the current value will revert to the old value after the next system reboot. If you find you need to raise the value of MAXBUF, you must also add or update an entry for MAXBUF in MODPARAMS.DAT and then run an AUTOGEN pass through (at least) the SETPARAMS phase. Also remember to check the error messages and recovery documentation in the OpenVMS manual set. On OpenVMS systems with the message help library available (V6 and later releases), you can use the following command to retrieve this error message and recovery documentation directly on-line: $ HELP/MESSAGE EXQUOTA EXQUOTA, process quota exceeded Facility: SYSTEM, System Services Explanation: An image could not continue executing or a command could not execute because the process exceeded one of its resource quotas or limits. ... This message may also occur if the size of a buffered I/O request exceeds the value of the SYSGEN parameter MAXBUF.
|