我有几台运行 Ubuntu 16.04 的服务器,accounts-daemon
它们的 CPU 突然使用了 100%。
第一次发生是在三周前,我移动/var/log/wtmp
并重新创建了它,立即解决了问题。
这是我遇到的第一个解决方案,另一个解决方案是禁用这些wtmp
日志proftpd.conf
。
这样做有任何风险吗?它能解决问题吗?
答案1
我也遇到了同样的问题账户守护进程在 16.04 Ubuntu 上占用了近 100% 的 CPU。
简而言之,根本原因是串行控制台代理-s,连续(即每分钟几次)重新启动系统。
(我承认没有完全回答萨姆的主要问题 - 即禁用沃特姆普完全-,但其他遇到麻烦的人可能会找到此页面-就像我一样)
==
好奇者的详细信息:
- 斯特雷斯account-daemon 显示它正在持续访问 /var/log/wtmp,该文件确实约为 300 MB,并且在不断增长。很遗憾,最后的没有显示任何内容,但有另一个实用程序,转储文件在 ttyS* 串行控制台上显示了许多失败的 Agetty 尝试:
[6] [30697] [tyS2] [登录] [ttyS2] [ ] [0.0.0.0 ] [2018 年 12 月 30 日星期日 07:19:34 CET]
[6] [30698] [tyS1] [登录] [ttyS1] [ ] [0.0.0.0 ] [2018 年 12 月 30 日星期日 07:19:34 CET]
[8] [30698] [tyS1] [ ] [ttyS1 ] [ ] [0.0.0.0 ] [2018 年 12 月 30 日星期日 07:19:44 CET]
[8] [30697] [tyS2] [ ] [ttyS2 ] [ ] [0.0.0.0 ] [2018 年 12 月 30 日星期日 07:19:44 CET]
[5] [30707] [tyS2] [ ] [ttyS2 ] [ ] [0.0.0.0 ] [2018 年 12 月 30 日星期日 07:19:44 CET]
[6] [30707] [tyS2] [登录] [ttyS2] [ ] [0.0.0.0 ] [2018 年 12 月 30 日星期日 07:19:44 CET]
[8] [30707] [tyS2] [ ] [ttyS2 ] [ ] [0.0.0.0 ] [2018 年 12 月 30 日星期日 07:19:48 CET]
事实上,有一些串行控制台以某种方式被激活(系统控制 | grep ttyS.*服务),我通过以下命令删除了它“systemctl 禁用 [电子邮件受保护]”(我不知道为什么以及如何激活这些串行agetty-s,但这是一个非常古老的系统。)
wtmp 立即停止增长,accounts-daemon 也随之消失顶部输出。我猜accounts-daemon只会在新的wtmp记录时激活,所以即使它效率低下,它现在也很少运行。
干杯:阿帕德
答案2
它能解决我的问题吗?
不太可能。早在 2012 年,Chris Siebenmann 就观察到帐户服务(系统范围的桌面总线服务器)的运行效率极低且相当危险。其架构中当时突出的一些问题似乎至今仍然存在。它处理各种数据库的方式,包括登录数据库和帐户数据库,仍然涉及一些全表扫描。和Debian 特定的补充具有解析用户提供的 shell 脚本的超级用户程序仍然存在。
当有人指出,一个试图改善性能问题的补丁假定了一个基于 Unix 版本 7 帐户数据库和相应 API 构建的影子密码系统,并且在现代 BSD 上出现了问题,这些现代 BSD 已将帐户数据库从未排序的冒号分隔的 1 -line-per-record 文件到索引 Berkeley DB 文件,该程序的一位作者在 Freedesktop bug 跟踪器中的回应是 BSD 或许应该回到旧系统;完全忽略了表访问效率低下是问题的一部分这一点。
进一步阅读
- 克里斯·西本曼 (2012-08-23)。说明 Ubuntu 小丑车,AccountsService 版。克里斯的维基。
- 彼得·格雷(2012-02-26)。账户守护进程的性能非常差。 Ubuntu 错误#941673。
- 瓦迪姆·鲁特科夫斯基 (2012-04-02)。 账户守护进程的性能非常差。免费桌面错误#48177。
- 乔纳森·德博因·波拉德 (2018)。Unix 登录数据库。常见答案。