JBossJVM的CPU使用率高达99%,并保持不变

JBossJVM的CPU使用率高达99%,并保持不变,jboss,jmeter,cpu-usage,Jboss,Jmeter,Cpu Usage,我正在使用jmeter对我的应用程序进行负载测试,我发现应用程序jvm的cpu使用率达到99%,并且保持不变。应用程序仍然工作,我可以登录并做一些活动。但是,速度慢是可以理解的 环境详情: 服务器:AMD Optrom,2.20 Ghz,8核,64位,24 GB RAM。Windows Server 2008 R2标准 应用服务器:jboss-4.0.4.GA JAVA:jdk1.6.0_25,JAVA HotSpotTM 64位服务器虚拟机 JVM设置: -Xms1G-Xmx10G-XX:Ma

我正在使用jmeter对我的应用程序进行负载测试,我发现应用程序jvm的cpu使用率达到99%,并且保持不变。应用程序仍然工作,我可以登录并做一些活动。但是,速度慢是可以理解的

环境详情:

服务器:AMD Optrom,2.20 Ghz,8核,64位,24 GB RAM。Windows Server 2008 R2标准

应用服务器:jboss-4.0.4.GA

JAVA:jdk1.6.0_25,JAVA HotSpotTM 64位服务器虚拟机

JVM设置: -Xms1G-Xmx10G-XX:MaxNewSize=3G-XX:MaxPermSize=12G-XX:+UseConMarkSweepGC-XX:+UseParNewGC-XX:+UseCompressedOops-Dsun.rmi.dgc.client.gcInterval=1800000-Dsun.rmi.dgc.server.gcInterval=1800000

数据库:MySql 5.6在另一台机器上

Jmeter:2.13

我的场景是,我让我的应用程序的20个用户登录到它,并执行正常的活动,这不应该带来巨大的负载。在这个过程中,几分钟后,Jboss的JVM就启动了,再也没有回来。CPU使用率将保持不变,直到JVM被杀死

为了更好地理解,这里有一些屏幕截图

我发现很少有帖子的cup@100%,但没有什么和我的情况一样,也找不到解决办法。 任何关于要做什么的建议都会很好

问候,


Sreekanth.

要了解CPU利用率高的根本原因,我们需要同时检查CPU数据和线程转储

在问题发生时捕获5-6个线程转储。类似地,逐线程捕获CPU消耗


通常CPU问题的根本原因是线程问题,如阻塞线程、长时间运行的线程、死锁、,长时间运行的循环等,可以通过遍历线程堆栈来解决。

您不提供任何关于您在jboss上运行的应用程序和技术类型的信息,例如使用的库或它是否进行了一些密集计算。。。为了获得正确的测试结果,我建议您不要在运行jboss应用服务器的同一台机器上运行visualvm和jmeter。在不同的服务器上运行它们,以减少这两个程序对tomcat实例的影响。看起来在用户交互结束后,应用程序线程仍处于活动状态。也许你应该看看减少会话保持活动类型设置?您的用户启动的异步操作是否在后台持续运行?谢谢,@dakillerbee。我们的应用程序非常庞大,它执行大量的条件检查或计算。还包括很多lib文件。但是,我可能无法透露更多信息。我认为visualvm和jmeter不会引起太多问题,因为它们是独立的vm。我试着观察你的建议。谢谢,雷格。很少有线程在整个过程中处于活动状态,我相信它们是计划好的。当我在cpu@100%的其他帖子中看到类似的回复时,我在jxm上对它们进行了分析。对于如何识别可能出现问题的线程,您有什么更好的建议吗?您的JBoss控制台应该为您提供更多关于哪些线程处于活动状态、持续多长时间等的信息,甚至可能包括每个线程占用的CPU时间。