如何在apache tomcat中查找Web应用程序的内存使用情况
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在apache tomcat中查找Web应用程序的内存使用情况相关的知识,希望对你有一定的参考价值。
我正在开发一个项目,我需要找到部署在Apache tomcat中的Web应用程序的内存使用情况。在Intranet架构中,我想开发一个工具来查找访问已部署的Web应用程序及其内存的用户。有人可以帮助我开始这个项目。我已经配置了Apache tomcat并且现在部署了一些Web应用程序。性能监控是我项目的目标。谢谢。
您可以使用JMX轻松访问Tomcat JVM的内存使用情况。有关更多信息,请参阅此SO。请注意,您将获得tomcat +所有已部署的Web应用程序的内存使用情况。您无法获得单个Web应用程序的内存使用量,因为Tomcat共享容器和应用程序的单个Java进程。如果你想更好地控制每个应用程序的内存使用量,我建议你使用更复杂的应用程序服务器或者每个webapp使用一个tomcat实例。
为了监控连接的用户,我想你必须在应用层做一些事情。 Tomcat并不真正意识到“用户”的概念,因为这通常是您在代码中实现的东西(如Spring Security)。
你读过这个吗?你不能,请阅读http://wiki.apache.org/tomcat/FAQ/Memory:
您无法找到Web应用程序使用的内存量。 JVM没有向我们提供这些细节或信息。
我建议glowroot是一个非常好的开源Java应用程序性能监视(APM)工具,您可以将其附加到Tomcat而无需更改任何Java源代码。
要使用它只需要download它并添加你的JVM -javaagent:path/to/glowroot.jar
的开头
对于tomcat,您需要添加环境变量
JAVA_OPTS="$JAVA_OPTS -javaagent:path/to/glowroot.jar"
在/etc/tomcat8/tomcat8.conf
有关更多详细信息,请参阅项目github的说明
它具有非常轻的overhead,您可以在生产中临时使用它来提取多个应用程序性能信息并使用Tomcat进行测试。
您可以看到来自JVM和histogram的堆内存here的仪表演示
Pinpoint,glowroot,java melody,visualVM(自带JDK),Java任务控制(自带JDK)可以帮助您了解堆利用率和其他性能参数(如利用率,响应时间,瓶颈等)。我最喜欢的是Glowroot .. :)它易于安装并提供非常好的应用程序洞察力。 Demo Url Glowroot:https://demo.glowroot.org/transaction/average?transaction-type=Web Java旋律:http://javamelody.org/demo/monitoring我希望这能帮到你:)
以上是关于如何在apache tomcat中查找Web应用程序的内存使用情况的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Apache-Tomcat Web 应用程序中获取浏览器 URL?