-D limit exceeded

microedgenh

New Member
I have a user who is constanty getting the warning: -D limit has been exceeded; automatically increasing to 150 (5410). This happens on Progress 10.1B when she has multiple windows of the application open. I have been unsuccessful finding a solution in the Progress KB, any thoughts? Thanks, Ann.
 

lloydt

New Member
I have a user who is constanty getting the warning: -D limit has been exceeded; automatically increasing to 150 (5410). This happens on Progress 10.1B when she has multiple windows of the application open. I have been unsuccessful finding a solution in the Progress KB, any thoughts? Thanks, Ann.

Try bumping up the -D parameter to 150 or so. Also, if you are not compiling to .R code, try doing that to see if it clears it up... that's strictly a guess on my part based upon the documentation for the -D command line option (below).

Regards
--Lloyd

From the Openedge Deployment Startup Command and Parameter Reference Manual (dbspr.pdf in the electronic documentation).

Use Directory Size (-D) to change the number of compiled procedure
directory entries.

-D n
use with Client Session (prowin32.exe or _progres)
Maximum Value 500
Minimum Value 5
Single user Default 100
Multi user Default 100

n
The number of compiled procedure directory entries.

Each compiled procedure executed during an OpenEdge session requires a directory entry. A
compiled procedure can be a session-compiled version of a procedure or a precompiled r-code
version.

When the AVM creates a session-compiled version of a procedure and there is no available
space in the directory, it discards the oldest inactive compilation of a procedure. The next time
the discarded procedure is run, the AVM must recompile it if it was a session compile, or reopen
and reread it if it was a precompiled r-code version.

The -D limit is a soft limit. If your application needs to exceed the limit, OpenEdge
automatically increases the number of directory entries by 50 percent and dynamically allocates
memory for the expanded array. (Use the Statistics (-y) parameter to check the current directory
size (-D) value.) When the limit is reached, OpenEdge issues a WARNING message, which is
written to the current output (if there is current output) and to the log file (LG).

You can force OpenEdge to adhere to the specified directory size (-D) limit by starting the
session with the Hardlimit (-hardlimit) startup parameter. When you use the -hardlimit startup
parameter, OpenEdge issues a WARNING message when you exceed the directory size limit. It
also issues a message that a resource limit was reached and raises an untrappable STOP
condition. Note that -hardlimit also enforces the limits set by the Local Buffer Size (-l), the
Maximum Memory (-mmax), and the Nested Blocks (-nb) startup parameters, so the STOP
condition is raised when any of the specified limits are reached.
 
Top