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

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

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

我通过 SSH 登录到机器并运行top,结果显示该landscape-sysinfo进程是消耗所有系统资源的罪魁祸首。pstree显示了它所在的位置:

init─┬─atd
     ─计划任务
     ─dhclient3
     ═─dovecot─┬─2*[dovecot-auth]
     │ ═ ...
     │ └─3*[pop3-登录]
     ─6*[盖蒂]
     │ ...
     │ └─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]
     ═─upstart-socket-
     ─upstart-udev-br
     └─vsftpd

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

我不知道为什么landscape-sysinfo会随机生成。我更不知道为什么它是 的子代sshd

显然,我并不太高兴我的机器上运行着无法解释的 SSH 进程。起初我担心存在漏洞/木马/后门,所以我运行了chkrootkitrkhunter,但结果都没有问题。

有人知道是什么原因导致此过程失控吗?有没有什么办法可以阻止它重生?

答案1

不久前,我找到了问题的真正原因,并认为我应该在这里记录下来,以便其他可能遇到类似问题的人可以参考。事实证明,问题的根本原因比我最初预想的更棘手、更复杂。

简而言之,run-parts它一直运行良好。它出问题只是另一个问题的征兆。故障链如下所示:

1)在完全不同的机器上lsyncd基于 的文件同步实用程序rsync)运行失常,原因超出了我们的关注范围。但我们担心的是,它lsyncd试图通过 SSH 与这个微实例(出现问题的地方)同步文件。

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

3)由于这是 EC2 上的一个微实例,问题更加严重,我后来发现,亚马逊严重限制了 CPU 消耗稳定超过某个阈值的微实例。(有关细节的详细说明,请参阅Greg 的闲聊。非常感谢 Greg 撰写的这篇文章!)

因此,当机器受到 SSH 连接的轰炸时,它会运行很慢,然后变得无法使用节流阀启动后速度变慢。

谜团已揭开!

答案2

它是一个定期安排的 cron 作业,用于收集性能数据。

这里了解(简单)删除说明。如果您不关心数据收集,只需将其完全删除,即可删除该包(如果允许)或找到它的 crontab 条目并将其注释掉。

相关内容