Ubuntu 11.04 服务器由于 Landscape-sysinfo CPU 过度消耗而挂起

Chr*_*ane 3 ubuntu landscape cpu-usage

我正在 Amazon EC2 微型实例上运行一些基本服务器(基于 Ubuntu 11.04),其目的只是为了协调几个网络服务器的活动。这台机器运行了几个星期,但现在经常挂起,其 CPU 红线为 100%。

我通过 SSH 登录到机器并运行了一个top,这表明该landscape-sysinfo过程是消耗所有系统资源的肇事者。一pstree发现它是位于:

init???atd
     ??cron
     ??dhclient3
     ??dovecot???2*[dovecot-auth]
     ? ??3*[imap-登录]
     ? ??3*[pop3-login]
     ??6*[盖蒂]
     ??master???pickup
     ? ??qmgr
     ??mountall
     ??mysqld???11*[{mysqld}]
     ??rsyslogd???3*[{rsyslogd}]
     ??sshd???sshd???sshd???bash
     ? ??sshd???sshd???bash???top
     ? ??sshd???sshd???bash???pstree
     ? ??sshd???sh???run-parts???50-landscape-sy???landscape-sys+
     ??udevd???2*[udevd]
     ??新贵插座-
     ??新贵-udev-br
     ??vsftpd

违规进程在此处列为 的最后一个子进程sshd。如果我手动 kill landscape-sysinfo,机器将恢复正常 - 直到该过程自发重新生成,通常是几分钟后。(我可以“担保”sshd上面树中的其他进程。它们是合法的。)

我不知道为什么landscape-sysinfo会随机产卵。我加倍不知道为什么它是sshd.

显然,我对在我的机器上运行一个我无法解释的 SSH 进程感到非常兴奋。最初我担心漏洞/特洛伊木马/后门,所以我跑了chkrootkitrkhunter,但它们都干净利落。

有没有人知道是什么导致这个过程疯狂?关于如何阻止它重生的任何想法?

Chr*_*ane 5

不久前我找出了问题的实际原因,并认为我应该在这里记录它,以供其他可能有类似问题的人使用。结果证明,根本原因比我最初预期的要棘手和复杂。

简而言之,run-parts一直工作得很好。它的失控只是另一个问题的征兆。故障链看起来像这样:

1)在一台完全不同的机器上lsyncd(一个基于 的文件同步实用程序rsync)由于我们不关心的原因而运行失控。不过,我们担心的是,lsyncd它试图通过 SSH 将文件同步到这个微实例(这表明了问题)。

2) 因为lsyncd通过 SSH 建立了数十个同时连接,每个连接似乎都受到landscape-sysinfo Ubuntu 默认提供的 SSH 登录横幅的欢迎。这解释了什么landscape-sysinfo是 SSH 以及为什么它是 SSH 的子代。看起来这run-parts是罪魁祸首,但实际上问题在于机器被 SSH 连接轰炸。

3) 加剧问题的是,这是 EC2 上的一个微实例,此后我发现 Amazon 严重限制了 CPU 消耗稳定超过某个阈值的微实例。(有关详细信息的出色解释,请参阅Greg's Ramblings。非常感谢 Greg 的那篇文章!)

因此,这台机器在受到 SSH 连接轰炸时运行缓慢,然后在节流开始后变得无法使用。

谜团已揭开!