This topic provides information about how memory is used by and from PAS for OpenEdge agent.

ABL sessions in the PAS for OpenEdge agent

The PAS for OpenEdge agent is a multi-threaded server process that simultaneously handles multiple concurrent ABL AppServer requests. Each request executes within the context of an ABL session. The PAS for OpenEdge agent is also known as the multi-session agent because of its ability to manage multiple ABL sessions in isolation from one another. Each ABL session in the PAS for OpenEdge agent process:
  • Maintains its own ABL Application state in isolation from all other ABL sessions running in the same PAS for OpenEdge agent process.
  • Keeps a track of its memory allocation to support the application it is running.
The more the application objects created in an ABL session, the more the memory required by the ABL session.

Overhead memory in the PAS for OpenEdge agent

The PAS for OpenEdge agent needs a certain amount of memory to support the management of ABL sessions, their connections to the Tomcat server, the threads that execute the requests, and the resources that are shared by all ABL sessions. In the agent log file, you can see references to the following special ABL sessions:
  • AS-Listener—supports a single dedicated thread whose primary job is to listen for the arrival of new requests from the Tomcat web-server and dispatch the requests to worker threads.
  • AS-ResourceMgr—supports a single dedicated thread whose job is to manage resources that are shared by all ABL sessions. For example, Resource Manager is the only thread that attaches to shared memory for a connection to an OpenEdge database. All ABL sessions then share that database context when they connect via shared memory.
  • AS-Admin—supports a single dedicated thread whose primary job is to respond to administrative requests from the Tomcat web-server. For example, a request to report on the memory utilization of all ABL sessions, or a request to terminate a particular ABL session. It also maintains all the metric collection of the PAS for OpenEdge agent, which requires memory.

Each of these special ABL sessions is a stripped-down version of a full ABL session, and therefore use less memory than a full ABL session.

The PAS for OpenEdge agent uses full ABL sessions, which are seen as AS-4, AS-7, and so on in the agent log file, to run the ABL code and execute the AppServer requests.

The PAS for OpenEdge agent keeps track of memory allocation in support of each of these special ABL sessions, along with other supporting memory allocations, such as network buffers for reading and responding to AppServer requests. All this memory that is used for the special ABL sessions and the memory that is not tied to any particular ABL session is accounted and reported as part of the Overhead memory used for the PAS for OpenEdge agent.