如何解决使用100%CPU的无响应的Apache2实例?

我正在运行安装了Kolab Groupware的Debian 7服务器,而不是其他的。 它通常工作得很好,但随机(当然,当我不看,当然)CPU使用率将达到100%,并停留在那里,Apache将变得没有反应,我必须杀死-3 apache2.prefork。 我很确定这是我做的事,因为我没有发现任何人与Kolab有类似的问题。 一些更多信息:

  • SSL是必需的,连接到端口80立即redirect到SSL站点
  • 通过“无响应”我的意思是试图访问任何页面“build立安全连接”,直到浏览器超时。
  • 这包括由mod_status所做的页面,所以在这个问题中给出的解决scheme将不起作用
  • 没有东西写入日志。 这是通常的方式,access.log,error.log和other_vhosts_access.log,它们都是空的。 最近的内容是来自前一天的滚动日志,只显示正常使用,没有任何可疑的
  • 似乎没有人连接到它,所以我怀疑它是超载
  • 它在虚拟机上运行。 虚拟机最初只有一个CPU,所以我想也许是瓶颈,并增加了另一个CPU。 然而,它仍然会发生,但有趣的是,只有一个 CPU达到100%,表明它可能是某种无限循环,据我所知。
  • 不与Apache交互的服务器上的其他所有内容都可以继续正常工作。
  • 我写了一个小小的cron工作来检查CPU的使用情况,并在电子邮件发出峰值时给我发电子邮件,这意味着我几分钟后就可以发现它,但是我仍然无法在日志(包括syslog)中find任何可以说明原因的东西。
  • 这似乎不是周期性的,它发生在一天中的不同时间,人们正在使用它或闲置时。 没有我能find的对应于秒杀的cron工作。

我想如果我知道一种方法来查看PHP运行的方式,而不使用HTTP(S)来执行此操作,或者使用debugging符号编译PHP,我想我可以自己弄明白。 任何人都知道如何做到这一点?