Hi @Ramanan1,
Regarding the monitoring tools, there is an integrated profiler into AEM, but it will only be usable for a "short" period of time, to take a snapshot of a very specific time-range when experiencing some performance issue.
You can find it in the Felix Web console > http://<host:port>/system/console/profiler
To have long-running monitoring, you can use any available Java APM (Application Performance Monitoring) tool.
The top most commonly used tools for that are:
~ New Relic
~ AppDynamics
~ Dynatrace
~ Introscope
These tools would monitor the instance in background automatically, but if you want to monitor some action periodically, you could use a simple profiler like:
~ JProfiler
~ VisualVM
I would recommend VisualVM as it is already integrated into the JDK, so no need to install a third party tool on your instance.
Also memory monitoring aspect only, you can enable the GC logs already. This is requiring to add some parameters to the jvm command line for starting AEM:
-XX:+PrintGC -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -Xloggc:gclog.log
You can specify a different path/filename using the "-Xloggc" parameter.
Thanks!!