This topic describes what contributes to the memory of the PAS for OpenEdge agent process and how the operating system manages memory. Later, the operating system drills down into why the memory reports generated using operating system utilities like top (in Unix) show no drastic change in memory even after trimming the ABL sessions.

The memory footprint of the PAS for OpenEdge agent process is the total memory used by the agent process to support its operation. You can be interested in the memory size of the PAS for OpenEdge agent for the following reasons:
  • To correct the size of machine resources parameters like CPU, memory, swap, and others, to ensure that the server meets the response-time requirements without over-spending on resources.
  • To monitor and control the size of the PAS for OpenEdge agent process and prevent it from getting killed by Out of Memory Reaper, which may be running on the machine.
  • To control the size of the PAS for OpenEdge agent process from impacting: the memory of the machine and the performance of other critical business applications running on the same machine.

PAS for OpenEdge agent tracks its calls to the malloc API (malloc, free, calloc, realloc, strdup) for self-reporting its known internal memory consumption. However, the reported amount of memory used often does not match what the OS tools report for the PAS for OpenEdge Agent process.

One of the main reasons for the difference is that the malloc API adopts an optimistic memory allocation model to strike a balance between maximizing speed and minimizing memory fragmentation when presenting virtual memory to the agent process. The optimistic memory allocation model prioritizes memory allocation and performance over the reduction of process memory size.

The view of an OS on how much memory a PAS for OpenEdge agent process is using depends on the following factors: