java - tomcat7 服务器 java 中加载的类、cpu 和线程的峰值

标签 java multithreading tomcat garbage-collection tomcat7

我一直在监控我的 tomcat7 服务器,因为我们遇到过随机崩溃。我注意到加载的类、cpu 使用率和线程同时出现了峰值。当我查看 log4j 日志和 localhost_access 日志时,我没有发现任何异常。

VisualVM graphs

我还注意到同时所有的 http-bio-8080-exec theads 都在线了。

VisualVM Threads

知道是什么原因造成的吗?为什么这些类没有卸载?

谢谢!

最佳答案

您是否部署了新版本的应用程序?那时您的垃圾回收率也很高,卸载的类也不多。您的应用程序可能无法正确卸载,并且在每次部署时都在构建。

值得重新启动 Tomcat,然后观察每次部署时类的数量是否继续增加。

如需进一步阅读,请参阅: Is there a way to avoid undeployment memory leaks in Tomcat?

关于java - tomcat7 服务器 java 中加载的类、cpu 和线程的峰值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41004517/

相关文章:

c# - 每个套接字地址仅使用一种

java - java中读/写变量的原子操作

java - 无法从 Web 应用程序通过 JDBC 连接到 HIVE

java - 每个连接的线程如何使用线程池

java - 是否可以使用 sendredirect() 重定向到子目录中的页面

python - 如何等到只有第一个线程在 Python 中完成

java - Android 外设 BluetoothGattServerCallback onServiceAdded() 没有被调用

java - spring.mvc.view.prefix 和 spring.mvc.view.suffix 必须是什么?

java - 有没有办法将返回转换后的值的 Java8Optional 与在 null 上打印消息结合起来?

java - 图像上的简单动画存在问题