【发布时间】:2013-08-11 20:53:40
【问题描述】:
我在生产中使用 Tomcat 7.0.42,但我遇到的问题是我的服务器每天崩溃 2-3 次。我不知道为什么。是否有可用于分析服务器性能的测量工具?
【问题讨论】:
标签: tomcat tomcat7 monitoring jmx
我在生产中使用 Tomcat 7.0.42,但我遇到的问题是我的服务器每天崩溃 2-3 次。我不知道为什么。是否有可用于分析服务器性能的测量工具?
【问题讨论】:
标签: tomcat tomcat7 monitoring jmx
虽然这个问题太宽泛了,应该在serverfault 上解决而不是在stackoverflow 上解决,但这是我首先要检查的内容,看看服务器上发生了什么。
日志 - 检查 /var/log/tomcat7 中的任何异常(以及 OutOfMemory 等错误)。还要检查磁盘上是否有足够的空间。
确保您的 tomcat 使用 -server 选项运行
您可以使用JavaMelody 来查看大图,它非常易于安装。如果您使用 Maven,只需添加 javamelody-core 依赖项并使用
web.xml
<filter>
<filter-name>monitoring</filter-name>
<filter-class>net.bull.javamelody.MonitoringFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>monitoring</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<listener>
<listener-class>net.bull.javamelody.SessionListener</listener-class>
</listener>
然后使用http://<host>:<port>/<context>/monitoring访问您的应用程序
例如,如果您注意到内存不断增长并达到限制,您可能需要增加 JVM 最大堆大小,但可能存在内存泄漏。如果发生内存泄漏,您需要使用VisualVM、JProfiler、YourKit 等工具分析/比较堆转储。
我还会检查同一台服务器上的其他进程,例如 sshd(使用 netstat),也只是查看一般健康状况 atop 或 htop
【讨论】: