我有几台运行 Ubuntu 16.04 的服务器,它们的accounts-daemon进程突然占用了100% 的 CPU。
第一次出现在3周前,我搬家/var/log/wtmp重新创建,立即解决了问题。
这是我遇到的第一个解决方案,另一个是wtmp在proftpd.conf.
这样做是否有任何风险?它会解决问题吗?
小智 7
在 16.04 Ubuntu 上,accounts-daemon占用了近 100% 的 CPU,我遇到了同样的问题。
简而言之,根本原因是串行控制台 agetty -s 被systemd连续(即每分钟几次)重新启动。
(我承认没有完全回答 Sam 的主要问题——即完全禁用wtmp——,但其他有麻烦的人可能会找到这个页面——就像我一样)
==
好奇者详情:
[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 ] [Sun Dec 30 07:19:44 2018 CET]
[8] [30697] [tyS2] [ ] [ttyS2 ] [ ] [0.0.0.0 ] [Sun Dec 30 07:19:44 2018 CET]
[5] [30707] [tyS2] [ ] [ttyS2 ] [ ] [0.0.0.0 ] [Sun Dec 30 07:19:44 2018 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 欧洲中部时间]
事实上,有一些串行控制台以某种方式被激活(systemctl | grep ttyS.*service),我通过诸如“systemctl disable getty@ttyS2.service”之类的命令将其删除(我不知道为什么以及如何激活这些串行 agetty-s,但这是一个非常古老的系统。)
wtmp 立即停止增长,并且帐户守护程序从顶部输出中消失。我猜accounts-daemon只为新的wtmp记录激活,所以即使它效率低下,现在也很少运行。
干杯:阿帕德
它会解决我的问题吗?
不太可能。早在 2012 年,Chris Siebenmann 就观察到 Accounts 服务,它是一个系统范围的桌面总线服务器,以极其低效且相当狡猾的方式运行。其架构中的一些突出问题似乎一直存在到今天。它处理各种数据库的方式,包括登录数据库和帐户数据库,仍然涉及一些全表扫描。并且具有超级用户程序解析用户提供的 shell 脚本的特定于 Debian 的添加仍然存在。
当有人指出,一个试图改善性能问题的补丁假定一个影子密码系统建立在 Unix 版本 7 帐户数据库和伴随的 API 上,并破坏了现代 BSD,这些 BSD 将帐户数据库从未排序的冒号分隔 1 转换为正确的帐户数据库-line-per-record 文件到索引的 Berkeley DB 文件,该程序的一位作者在 Freedesktop 错误跟踪器中的响应是 BSD 可能应该返回到旧系统;完全忽略了表访问效率低下是问题的一部分。
| 归档时间: |
|
| 查看次数: |
8611 次 |
| 最近记录: |