Kbase P4428: Receiving many 5408 warnings
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  4/9/2009 |
|
Status: Verified
SYMPTOM(s):
Receiving many 5408 warnings
WARNING: -l exceeded. Automatically increasing from <old value> to <new value>. (5408)
FACT(s) (Environment):
All Supported Operating Systems
Progress 8.x
Progress 9.x
OpenEdge 10.x
CAUSE:
The (5408) message refers to the -l (local buffer size) startup parameter that administers how much memory Progress will use for the client's local buffer pool.
CAUSE:
The (5408) message is referring to the -l (local buffer size) startup parameter that administers how much memory Progress will use for the client's local buffer pool. It is merely indicating that this limit has been exceeded and Progress is automatically increasing the -l setting as needed in the current session.
FIX:
First, make sure that there is no application logic issue causing large amounts of memory to be consumed.
In checking your application, consider that Local buffer size, -l parameter is used for variables, work files, records that are currently in a buffer in use at a particular moment in time by the user and any information on currently active objects (handles, attribute values and internal pointers) such as temp-tables, query objects, widget pools and GUI widgets. Note, that Progress WORKFILES (not temp-tables) are ENTIRELY stored in -l memory. All other program variable records and database/temp-table records take space in -l ONLY when the record is in an active 4GL buffer. Any record cache (used with a query) will therefore also affect the -l memory usage."
For example:
1. Define variables as NO-UNDO
2. Define temp tables as NO-UNDO
3. If using work files or a lot of persistent variables raise the -l (local buffer size) parameter to say 300 and guage the impact.
4. Reduce the size of transactions and subtransactions.
If the logic is correct and to avoid receiving the 5408 warnings, start Progress with a larger -l setting by using the higher value from 5408 message received.
The -l is a client session parameter.
The default is 200 KB, hence messages will start from 200KB+.
The maximum settable value is 2097151Kb in Progress 8.x; 4GB in Progress 9.x and OpenEdge 10.x.
Starting on Progress 9.x, to prevent Progress from dynamically increase the value, use -hardlimit parameter.
To suppress warnings, there is a new client startup parameter in 9.1D08 (-noincrwarn) that will suppress these messages when used. This should only be done AFTER development and QA, when the application has been confirmed to work to acceptable standards. use -noincrwarn parameter. See Solution P79795 referenced below.