I am using Elasticsearch 2.1.0 , topbeat 1.1 on windows 7.
I am monitoring one of the servers where web applications
running. So there are multiple applications running on tomcat.
Last week our server was down due to more than 95% of
continuous memory usage and when we drilled down using
kibana's flexible dashboards for memory usage per process
visualization and it shows java is using maximum memory.
Now the problem is as there are multiple web application hosted
on the same tomcat, we want to figure out which application is
creating the processes which are using so much memory.
Are you running multiple instances of Tomcat, each with one web application deployed? If so you can upgrade to the latest 1.X release and it will provide you with the complete command line and user that the process was started with. This may help you distinguish the processes depending on how you start them.
If you have multiple web apps deployed in the same Tomcat instance then you won't be able to determine the app that is consuming the memory of that single process with Topbeat. Maybe Tomcat provides some insight into memory usage per web application. Otherwise you can try the tools provided by the JVM like jmap
.