Apache Tomcat 6.0.35正在生产100%的CPU

时间:2012-07-03 11:58:58

标签: apache tomcat grails amazon-ec2

我一直在生产环境中使用apache-tomcat-6.0.35。我们的应用程序使用Small Instance托管在Amazon EC2上。我们面临的问题是apache tomcat正在使用100%的CPU。我们通过运行htop验证了它,它显示了运行tomcat的多个线程。

应用程序已在Grails 2.0.1中开发。

我们很困惑,为什么会这样?任何机构都可以提出任何解决方案吗?

由于

2 个答案:

答案 0 :(得分:6)

可能原因

最有可能的原因是最近的Leap Second及其对相当一些未知/未准备的IT系统的影响,包括Linux,MySQL,Java和Tomcat的部分 - 请参阅有关{{3的有线文章整个故事:

  

[...],说它经历了跳跃bug问题   用于提供其站点的Java-happy Tomcat Web服务器。 “我们的网站   运行tomcat的服务器接近零响应(我们能够   处理一些请求),“阅读网站发言人发来的电子邮件。 “我们曾经   能够连接到服务器以重置它们。 仅重启   服务器解决了这个问题。“ [强调我的]

解决方法/修复

因此,该解决方案通常归结为将其关闭然后重新打开,即重新启动相关服务器,尽管您可以通过简单地设置日期来避免这种情况,例如建议的在以下情况下:

背景/提议的解决方案

请注意,虽然潜在的问题非常棘手,但原则上几乎不为人知,因此有明显的帖子/用户警告并解释这一点并提出原则上如何处理它的建议,特别是:

答案 1 :(得分:0)

我们无法肯定地提供所提供的信息。对于性能问题,我建议使用分析器(尤其是JProfiler)来调查此问题的原因。通过这种方式,您将能够找到问题所在。

这个程序有试用许可证,我认为这足以快速查看。

更新:仔细阅读问题后,我发现你有很多运行网站的tomcat实例?这意味着以前的tomcat实例无法停止;他们仍然跑步并占用了所有的资源。这个有可能。在尝试启动新的tomcat进程之前,必须先杀死所有旧的tomcat进程。

如果你在Linux上,你可以通过“kill -9”手动终止进程,然后再尝试启动服务器。