Kbase P19294: Why does the amount of memory used by a stateless AppServer
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  2/20/2003 |
|
Status: Unverified
GOAL:
Why does the amount of memory used by a stateless AppServer increase when running server-side SmartDataObjects on it?
FACT(s) (Environment):
Progress 9.x
FIX:
When Progress executables do their own memory management (which they do for various resources such as network buffers), they tend to allocate the memory "on demand". That is, when memory is requested, they check to see if there is already enough in the internal pool; if so, they use it; if not, then more memory is allocated from the System. When the memory is "freed", it is never actually returned to the System, but held in the pool to be reused the next time. Consequently when looking at it from the System point of view, the memory is still allocated (i.e. the process size is still "bigger"), but from the client's point of view, the memory in the pool is "free".
This happens a lot when the AppServer server processes (_proapsv.exe) are running SmartDataObjects mainly because of the amount of space Progress needs to allocate in the memory buffer pool for blocks/records from the SmartDataObjects' temporary tables (-Bt).