[Progress Communities] [Progress OpenEdge ABL] Forum Post: PASOE memory usage within a single agent (_mproapsv on 11.7.4 on windows)

Status
Not open for further replies.
D

dbeavon

Guest
We've deployed PASOE to production and I've been monitoring for a couple days. We are using 11.7.4 on windows. One thing that really concerns me is the memory usage of the _mproapsv processes. After they are freshly started, they are only about 100 MB. But once they start being used for a day, they can grow quite large, and don't seem to be under control. For example, I have one in production right now that has 1.5 GB in resident memory, which is a lot considering the whole server only has 16 GB of physical RAM and there are lots of other ABL applications on the same server. Here is a screenshot of that agent and its RAM: The process as a whole has been running for a couple days, and seems greedy on memory. For this reason I've tried to trim its internal ABL sessions with REST, via powershell: Invoke-RestMethod -Method Delete -Uri (' http://localhost:' + $portnumber.ToString() + '/oemanager/applications/' + $ablapp + '/' + $agent.agentId + '/sessions') -Credential $cred You can see in my screenshot above that the session start times for the four new sessions are from moments ago (2018-11-21T14:00:00:00Z), while the agent process has been running much longer - for two days. My hope was that by trimming the inactive sessions, the resident memory would drop back to what it was at the time an agent is freshly started (ie... 100 MB rather than 1.5 GB). But the resident memory of that process doesn't change substantially after trimming all the inactive sessions. We stay at 1.5 GB resident! Notice that the four new ABL sessions are only using about 10 MB each, so I'm not sure how to account for the resident process size of 1.5 GB. I saved a dump file that comes out to 1.6 GB, and compresses to about 200 MB. Is this expected behavior? Do a handful of ABL sessions (that are normally inactive) need to consume that much RAM? What is really scary is that I noticed the default config setting for ABL sessions per agent is 200! If 5 to 10 ABL sessions can cause the process to grow to 1.5 GB, I'd really hate to see what would happen with 200 ABL sessions in a single process! I see that it can be an easy thing to use OEE to start a new agent, and then kill off the old one. But that seems like a fairly drastic operation and I wouldn't think it necessary unless there was something that was going out-of-control within the _mproapsv processes. Also, if any session within the agent is continuously busy on a long-running operation, it becomes infeasible to attempt killing the agent as a whole.

Continue reading...
 
Status
Not open for further replies.
Top