Jboss JVM的CPU使用率高达99%并保持不变

时间:2015-05-12 07:13:18

标签: jboss jmeter cpu-usage

我正在使用jmeter对我的应用程序进行负载测试,我的情况是应用程序jvm的cpu使用率达到99%并且它保持不变。应用程序仍然有效,我可以登录并做一些活动。但是,它可以理解地慢了。

环境细节:

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

应用程序服务器:jboss-4.0.4.GA

JAVA:jdk1.6.0_25,Java HotSpot(TM)64位服务器VM

JVM设置: -Xms1G -Xmx10G -XX:MaxNewSize = 3G -XX:MaxPermSize = 12G -XX:+ UseConcMarkSweepGC -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上升,它永远不会回来。在JVM被杀死之前,CPU使用率将保持不变。

为了更好地理解,这里有几个屏幕截图。

Visual GC

visual VM

我发现很少有帖子有100%的杯子,但没有什么和我的情况一样,找不到解决方案。 任何关于要做什么的建议都会很棒。

此致

斯里卡特。

1 个答案:

答案 0 :(得分:0)

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

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

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