AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题 / 443650
Accepted
Syrupsystem
Syrupsystem
Asked: 2018-05-15 00:53:56 +0800 CST2018-05-15 00:53:56 +0800 CST 2018-05-15 00:53:56 +0800 CST

进程accounts-daemon占用100%的CPU

  • 772

我有几台运行 Ubuntu 16.04 的服务器突然有accounts-daemon进程使用了​​ 100% 的 CPU。

3周前第一次出现,我搬家/var/log/wtmp重新创建,立马解决了问题。

这是我遇到的第一个解决方案,另一个是禁用这些wtmp登录proftpd.conf。

这样做有什么风险吗?它会解决问题吗?

ubuntu cpu-usage
  • 2 2 个回答
  • 10638 Views

2 个回答

  • Voted
  1. Best Answer
    ArpadB
    2018-12-30T23:14:25+08:002018-12-30T23:14:25+08:00

    在 16.04 的 Ubuntu 上, accounts-daemon占用了近 100% 的 CPU,我也遇到了同样的问题。

    简而言之,根本原因是串行控制台 agetty -s 不断(即每分钟几次)由systemd重新启动。

    (我承认没有完全回答 Sam 的主要问题——即完全禁用wtmp——,但其他有麻烦的人可能会找到这个页面——就像我一样)

    ==

    好奇者的详细信息:

    • account-daemon 上的strace显示它不断地访问 /var/log/wtmp,这确实是大约 300 MB 并且还在不断增长。不幸的是,last没有显示任何内容,但另一个实用程序utmpdump在 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]

    • 确实,有一些串行控制台以某种方式被激活(systemctl | grep ttyS.*service),我通过诸如“systemctl disable [email protected]”之类的命令将其删除(我不知道为什么以及如何激活这些串行 agetty-s,但这是一个非常古老的系统。)

    • wtmp 立即停止增长,并且 accounts-daemon 从顶部输出中消失了。我猜 account-daemon 只为新的 wtmp 记录激活,所以即使它效率低下,它现在也很少运行。

    干杯:阿帕德

    • 8
  2. JdeBP
    2018-05-15T07:40:17+08:002018-05-15T07:40:17+08:00

    它会解决我的问题吗?

    不太可能。早在 2012 年,Chris Siebenmann 就观察到 Accounts 服务是一个系统范围的桌面总线服务器,它的运行效率非常低,而且相当狡猾。其架构中突出显示的一些问题直到今天似乎仍然存在。它处理各种数据库的方式,包括登录数据库和帐户数据库,仍然涉及一些全表扫描。并且具有解析用户提供的 shell 脚本的超级用户程序的 Debian 特定添加仍然存在。

    当有人指出,试图改善性能问题的一个补丁假设一个影子密码系统建立在 Unix 版本 7 帐户数据库和伴随的 API 之上,并破坏了现代 BSD,后者已将帐户数据库从未排序的冒号分隔的 1 切换为正确-line-per-record files 到索引的 Berkeley DB 文件,Freedesktop 错误跟踪器中的一位程序作者的响应是 BSD 可能应该回到旧系统;完全忽略了表访问效率低下是问题的一部分这一点。

    进一步阅读

    • 克里斯·西本曼 (2012-08-23)。说明 Ubuntu 小丑车,AccountsService 版。克里斯的维基。
    • 彼得·格雷 (2012-02-26)。帐户守护进程的性能很差。Ubuntu 错误 #941673。
    • 瓦迪姆·鲁特科夫斯基 (2012-04-02)。 帐户守护进程的性能很差。Freedesktop 错误 #48177。
    • 乔纳森·德博因·波拉德 (2018)。Unix 登录数据库。经常给出答案。
    • 5

相关问题

  • 使 Apple 键盘设置在 ../hid_apple/parameters/ 中持久化

  • 用文件中的点绘制二维图形

  • 如何验证我使用 9.9.9.9 作为 DNS?

  • 并行安装多个 linux 发行版

  • 自编译 OpenVPN 不会从 systemd 启动

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    ssh 无法协商:“找不到匹配的密码”,正在拒绝 cbc

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    如何卸载内核模块“nvidia-drm”?

    • 13 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Wong Jia Hau ssh-add 返回:“连接代理时出错:没有这样的文件或目录” 2018-08-24 23:28:13 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST
  • Martin Hope
    Bagas Sanjaya 为什么 Linux 使用 LF 作为换行符? 2017-12-20 05:48:21 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve