我们有一个使用灰熊http服务器(GrizzlyHttpServerFactory)的泽西休息服务器。最近我们从java7迁移到了java8。
从那以后平稳地服务请求1小时左右,
- 我们机器的CPU利用率达到100%(通常是5%,非常稀疏的峰值为40%)
- 所有对服务器的http请求都挂起。
- 服务器日志没有例外。
- 由服务器启动的线程继续工作并且不受影响
- 显然只有http界面似乎被打破了
重新启动服务器后,行为消失,但一小时后再次出现。
当我们迁移回java7时,服务器表现良好,没有问题。
现在我们迁移到java7。但是因为我们希望将来某个时候转向java8,所以
- 有没有人在他们身上看到过这种情况?
- 有没有办法调试此故障并在grizzly http服务器级别获取更多调试信息?
(是否有任何命令行标志传递给java -jar our_application_jar.jar命令,可以获取更多调试信息)
- 任何人都可以解释为什么我们的灰熊在使用java8时表现得很奇怪吗?
- 我们可以怀疑JDK 1.8的NIO库弄乱了灰熊,但我们怎么能得出结论呢?
我们的机器/部署详情
- ubuntu,aws m1大号
- java应用程序,作为unix服务运行
- 灰熊2.8(使用灰熊http服务器)
答案 0 :(得分:0)
您需要使用JProfiler。它将帮助您找出软件可能存在的任何性能和/或资源问题。它在一段有限的时间内是免费的(应该足以调试你的软件)