"WARNING: -D limit has been exceeded". How to resolve this? - Forum - OpenEdge Development - Progress Community

"WARNING: -D limit has been exceeded". How to resolve this?

 Forum

"WARNING: -D limit has been exceeded". How to resolve this?

This question is answered

I have implemented a third party web service which is heavily used. HTTP calls to that web service give below warning messages few times a day:

20/02/10@11:00:45.033-0500] P-063394 T-2426058528 1 AS -- (Procedure: 'InitializeRegistry OpenEdge.Net.HTTP.Filter.Writer.BodyWriterRegistry' Line:58) WARNING: -D limit has been exceeded; automatically increasing to 150. (5410)
[20/02/10@13:07:26.874-0500] P-063375 T-3554514720 1 AS -- (Procedure: 'Iterator OpenEdge.Core.Collections.EntrySet' Line:38) WARNING: -D limit has been exceeded; automatically increasing to 150. (5410)
[20/02/10@13:35:27.888-0500] P-011960 T-3884009248 1 AS -- (Procedure: 'InitializeRegistry OpenEdge.Net.HTTP.ClientBuilder' Line:69) WARNING: -D limit has been exceeded; automatically increasing to 150. (5410)
How can I resolve this?
Verified Answer
  • the message is complaining about the -D startup parameter being too small.  it is a "soft limit" so it gets auto increased if necessary. Add a -D 1000 to your command line for your application and you won't get these (at least until you hit the limit again).  -D is "directory entries".  Basically, it refers to the number of unique piece of r-code that can be loaded in memory.  HTTP client package has a lot of different classes it needs which is why you are seeing this message because it needs more than 150 different classes.  

All Replies
  • the message is complaining about the -D startup parameter being too small.  it is a "soft limit" so it gets auto increased if necessary. Add a -D 1000 to your command line for your application and you won't get these (at least until you hit the limit again).  -D is "directory entries".  Basically, it refers to the number of unique piece of r-code that can be loaded in memory.  HTTP client package has a lot of different classes it needs which is why you are seeing this message because it needs more than 150 different classes.  

  • You could also use the -noincrwarn parameter to avoid seeing this along with a couple other soft limit messages, like -mmax and -l.

    Cheers,

    Ken Mc

    Kenneth S. McIntosh

    Principal Technical Support Engineer

     

     

  •  That's a good suggestion. But, we are not using -noincrwarn parameter because we want to see those warning messages on server side logs just so we know that there is an issue.

  • Hi ,

    In that case, Matt's suggestion is your best bet.

    Cheers,

    Ken

    Kenneth S. McIntosh

    Principal Technical Support Engineer

     

     

  • You can programatically add 5410 to the SESSION:SUPPRESS-WARNINGS-LIST in your startup program (say activate procedure if this is the appserver)

    Cheers,

    Simi