如何调查持续数小时的100%CPU事件的原因?

昨天,基于Xen的VPS服务器上的CPU运行了两个小时,达到100%,然后恢复正常,似乎很自然。

我已经检查了日志,包括syslog,auth.log等等,没有什么看起来与众不同。

  • 在此期间,服务器似乎正常运行,如login的人,收到的电子邮件等
  • 内存,磁盘和networking使用在这段时间似乎是正常的。
  • 我几个星期没有重新启动服务器,那天早上我没有工作。
  • 我保持更新与安全更新等。 这是12.04 LTS。
  • 它运行nginx,mysql和postfix以及其他一些东西。

事件开始前,syslog包含这些条目:

Apr 27 07:55:34 ace kernel: [3791215.833595] [UFW LIMIT BLOCK] IN=eth0 OUT= MAC=___ SRC=209.126.230.73 DST=___ LEN=40 TOS=0x00 PREC=0x00 TTL=244 ID=2962 PROTO=TCP SPT=49299 DPT=465 WINDOW=1024 RES=0x00 SYN URGP=0 Apr 27 07:55:34 ace dovecot: pop3-login: Disconnected (no auth attempts): rip=209.126.230.73, lip=___ Apr 27 07:55:34 ace kernel: [3791216.012828] [UFW LIMIT BLOCK] IN=eth0 OUT= MAC=___ SRC=209.126.230.73 DST=___ LEN=40 TOS=0x00 PREC=0x00 TTL=244 ID=58312 PROTO=TCP SPT=49299 DPT=25 WINDOW=1024 RES=0x00 SYN URGP=0 Apr 27 07:55:34 ace kernel: [3791216.133155] [UFW LIMIT BLOCK] IN=eth0 OUT= MAC=___ SRC=209.126.230.73 DST=___ LEN=76 TOS=0x00 PREC=0x00 TTL=244 ID=63315 PROTO=UDP SPT=49299 DPT=123 LEN=56 

但是,再一次,我一直得到这些。 它只是表示UFW / iptables成功阻止了一些不需要的连接。 它不应该是相关的。

我有一个每天的备份,运行不到2小时才能开始这个“事件”。 它似乎运行正常,虽然它确实导致了比正常更高的服务器负载(但不是CPU利用率),指出可能的I / O拥塞问题。 但是这与100%的CPU事件并不一致。

我的问题是:我怎么能调查过去发生的事件的原因,因为它不再发生?