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 进程感到非常兴奋。最初我担心漏洞/特洛伊木马/后门,所以我跑了chkrootkit和rkhunter,但它们都干净利落。
有没有人知道是什么导致这个过程疯狂?关于如何阻止它重生的任何想法?
不久前我找出了问题的实际原因,并认为我应该在这里记录它,以供其他可能有类似问题的人使用。结果证明,根本原因比我最初预期的要棘手和复杂。
简而言之,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 连接轰炸时运行缓慢,然后在节流开始后变得无法使用。
谜团已揭开!
| 归档时间: |
|
| 查看次数: |
2972 次 |
| 最近记录: |