在grizzly http(REST)服务器--JAVA8上,CPU利用率经常达到100%

时间:2014-05-30 11:20:05

标签: java jersey-2.0 grizzly

我们有一个使用灰熊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服务器)

1 个答案:

答案 0 :(得分:0)

您需要使用JProfiler。它将帮助您找出软件可能存在的任何性能和/或资源问题。它在一段有限的时间内是免费的(应该足以调试你的软件)