2009-12-03 55 views
0

我们在Linux环境中有一个Web应用程序,CPU有时高达99%。Hibernate,Spring和Oracle的Web应用程序上升到99%的CPU(行锁竞争)

有时需要几天,其他时间需要几分钟。我们在tomcat webapp和Oracle数据库中使用Hibernate和Spring。

检查它出现在以下日志:“的ConnectionManager - 交易完成与on_close连接释放模式会话,请务必关闭释放JDBC资源会议”

然后sessioncount开始增长到256个会话(我们的Apache confs允许的最大值)。这是当会话数得到256出现的线:

“ContainerBackgroundProcessor [StandardEngine [卡塔利娜] ManagerBase - 启动到期会议StandardManager在1259947978384 sessioncount 256”

使CPU得到99%之后。

有什么建议吗?所有将高度赞赏。

在此先感谢。

p.s.前一段时间,我们遇到了行锁竞争的一些类似问题。这就是我们采用Spring的原因。

+0

它最有可能的代码问题。你有企业吗?如果这样运行服务器显示器或从Fusion Reactor或SeeFusion购买服务器显示器。他们应该帮助确定问题。 – 2009-12-03 15:41:35

+0

我们有企业。 JVM内存使用情况摘要图不会超出正常水平。 – foxtrot 2009-12-03 15:50:38

+0

当CPU上升到这么高时,是否有特定的模板运行? – 2009-12-03 15:57:52

回答

0

没有足够的信息来真正知道是什么导致您的问题在这里。一些有用的信息是关于coldfusion线程数量(和最大值)的信息。当Web服务器负载激增数据库的功能时,数据库负载也是有意义的。与这个问题一起发生什么变化?

+0

np0x我在检查你说的“数据库在做什么”和日志,它出现在下面的“ConnectionManager - 事务在on_close连接释放模式下完成,确保关闭会话释放JDBC资源! 。并且sessioncount开始增长(ContainerBackgroundProcessor [StandardEngine [Catalina]] ManagerBase - 开始将会话数目为1259947978384的会话数目为62)直到256(我们的Apache confs允许的最大值)。 – foxtrot 2009-12-04 18:10:15

+0

然后CPU达到99%! – foxtrot 2009-12-04 18:16:13

+0

在调查了这个“ConnectionManager--事务在on_close连接释放模式下完成后,请务必关闭会话以释放JDBC资源!”我应该配置以下内容:“> after_statement”hibernate properties config XML?那里有冬眠专家吗?提前! – foxtrot 2009-12-05 12:51:09

1

啊,这可能是可怕的客户端清除问题。如果您没有使用客户端变量,请关闭它们。

从CFAdmin>服务器设置>客户端变量>选择客户端会话的默认存储机制设置为无。

+0

我们已经停用了Sam。检查此链接后:http://kb2.adobe.com/cps/000/ce14cfd1.html。问题不断出现。 – foxtrot 2009-12-05 08:36:22

相关问题