It seems like in the documentation there are information about memory optimization of DCRUM (eg. , reduce software service, reduce alert, reduce data retention period, user name aggregation, how to add more memory to it using regedit etc...)
However, I find nothing similar for AppMon, appreaciate if anyone can point me to any relevant links, or have any tips for the memory optimization, as my AppMon is now using around 95% of RAM, can be a problem when my customer ask me to configure a new sys profile to monitor new application.
Only checkings I can think of (give a check on all of them already, all should be okay):
1. Measure Explosion because of BT (I have no BT configured for any sys profile)
2. Continuos Recording (this should be only related to disk space but not memory I guess? but anyway, checked and is okay)
3. UEM has nothing wrong from what I can see
4. No custom sensor is placed.
5. No collector is squeeze inside the server machine with the AppMon Server
6. Length of SQL Statement is left untouched and is default.
7. Max number of allow node size is left untouched and is default.
8. No measure are is configured to have its percentile calculated (All are just the default min max average)
Anywhere else I can trim down memory usage?
There is not too much out there in the way of memory usage for AppMon mainly you see the JVM take as much as it gets depending on the sizing especially if the AppMon is in demand, with users connected and lots of data being processed.
A few things in my experience that might contribute, high number of clients being connected, large sets of PurePath analysis, dashboards being auto refreshed including lots of dashlets.
It could be helpful if you analyse some of the self monitoring dashhboards and see if you notice any trend in if the memory usage increased there. Then we could also see if the complaint is frontend or backend. You could look at some of the other dashlets across the monitoring dashboards too and see if there is some cause that has influenced the memory increase. Feel free to post that here too, if you would like the community to take a look.
Might also be worth checking once you have some of these metrics in hand, that your environment is properly sized: https://www.dynatrace.com/support/doc/appmon/admin...
Please do give the monitoring dashboards a check, mainly Server Health and Dynatrace Frontend Server Health. Find them in Start Centre -> Monitoring.
Hope it helps, let us know how you get on!
Gary made some really good points there. Another area that you can check is the tasks and monitors dashlet. If you have a lot of reports being generated on a regular basis, that can really eat up your server memory. Turn off any tasks that are not actively being used by your client.
You should also confirm that you don't have any out of the box sensor packs in the system profile settings that are not being used (for example .Net Sensor packs enabled on a Java agents group). They may not have much impact, but it sounds like you need every mb of ram you can get!
Okay, think I MIGHT HAVE where the thing is getting unusual....
But anyway, I noticed the time spent in moving data in performance warehouse is quite long, would this probably eat up memory as well?
Also, Gary, before I try your suggestion of remove dashboard/auto-refresh setting of dashboard: No matter how memory-consuming the dashboard is, it would be a problem as long as I didn't open it and leave it there, is it correct to say so?
Memory allocation to the Server/FE-Server depends on the selection of sizing from Small to xLarge96.
You can change the value in the dtcollector.ini to assign the new allocation of memory (mix/min).