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.
|