systemd 持续使用 100% ... 这是顶部
top - 19:47:09 up 13 min, 1 user, load average: 3.26, 2.62, 1.69
Tasks: 306 total, 4 running, 294 sleeping, 0 stopped, 8 zombie
%Cpu(s): 35.5 us, 12.6 sy, 0.0 ni, 51.9 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
MiB Mem : 11858.2 total, 5183.4 free, 3433.2 used, 3241.6 buff/cache
MiB Swap: 2048.0 total, 2048.0 free, 0.0 used. 7913.7 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 268660 110536 8532 R 100.0 0.9 11:39.36 systemd
772 message+ 20 0 10988 6768 4116 R 46.0 0.1 5:16.01 dbus-daemon
259 root 19 -1 496536 327492 325464 S 16.8 2.7 2:16.95 systemd-journal
796 syslog 20 0 221104 5832 4052 S 13.9 0.0 1:38.00 rsyslogd
804 root 20 0 103380 93880 7784 S 13.1 0.8 1:34.41 systemd-logind
18 root 20 0 0 0 0 S 0.7 0.0 0:00.55 ksoftirqd/1
1733 root 20 0 352968 130376 83760 S 0.7 1.1 0:25.47 Xorg
1916 ava 20 0 4008000 272576 117864 S 0.7 2.2 0:32.40 gnome-shell
3877 ava 20 0 2629148 269672 162688 S 0.7 2.2 0:09.53 Web Content
这是系统日志
sudo tail -n 100 /var/log/syslog
Aug 13 19:46:11 kiev systemd[1]: Failed to start Process error reports when automatic reporting is enabled.
Aug 13 19:46:11 kiev systemd[1]: apport-autoreport.service: Start request repeated too quickly.
Aug 13 19:46:11 kiev systemd[1]: apport-autoreport.service: Failed with result 'start-limit-hit'.
Aug 13 19:46:11 kiev systemd[1]: Failed to start Process error reports when automatic reporting is enabled.
Aug 13 19:46:11 kiev systemd[1]: apport-autoreport.service: Start request repeated too quickly.
Aug 13 19:46:11 kiev systemd[1]: apport-autoreport.service: Failed with result 'start-limit-hit'.
Aug 13 19:46:11 kiev systemd[1]: Failed to start Process error reports when automatic reporting is enabled.
Aug 13 19:46:11 kiev systemd[1]: apport-autoreport.service: Start request repeated too quickly.
Aug 13 19:46:11 kiev systemd[1]: apport-autoreport.service: Failed with result 'start-limit-hit'.
Aug 13 19:46:11 kiev systemd[1]: Failed to start Process error reports when automatic reporting is enabled.
Aug 13 19:46:11 kiev systemd[1]: apport-autoreport.service: Start request repeated too quickly.
Aug 13 19:46:11 kiev systemd[1]: apport-autoreport.service: Failed with result 'start-limit-hit'.
Aug 13 19:46:11 kiev systemd[1]: Failed to start Process error reports when automatic reporting is enabled.
Aug 13 19:46:11 kiev systemd[1]: apport-autoreport.service: Start request repeated too quickly.
Aug 13 19:46:11 kiev systemd[1]: apport-autoreport.service: Failed with result 'start-limit-hit'.
Aug 13 19:46:11 kiev systemd[1]: Failed to start Process error reports when automatic reporting is enabled.
Aug 13 19:46:11 kiev systemd[1]: apport-autoreport.service: Start request repeated too quickly.
Aug 13 19:46:11 kiev systemd[1]: apport-autoreport.service: Failed with result 'start-limit-hit'.
Aug 13 19:46:11 kiev systemd[1]: Failed to start Process error reports when automatic reporting is enabled.
Aug 13 19:46:11 kiev systemd[1]: apport-autoreport.service: Start request repeated too quickly.
Aug 13 19:46:11 kiev systemd[1]: apport-autoreport.service: Failed with result 'start-limit-hit'.
Aug 13 19:46:11 kiev systemd[1]: Failed to start Process error reports when automatic reporting is enabled.
Aug 13 19:46:11 kiev systemd[1]: apport-autoreport.service: Start request repeated too quickly.
Aug 13 19:46:11 kiev systemd[1]: apport-autoreport.service: Failed with result 'start-limit-hit'.
Aug 13 19:46:11 kiev systemd[1]: Failed to start Process error reports when automatic reporting is enabled.
Aug 13 19:46:11 kiev systemd[1]: apport-autoreport.service: Start request repeated too quickly.
Aug 13 19:46:11 kiev systemd[1]: apport-autoreport.service: Failed with result 'start-limit-hit'.
以下是一些 dmesg
[ 3.942656] systemd[1]: Inserted module 'autofs4'
[ 4.005635] systemd[1]: systemd 246-2ubuntu1 running in system mode. (+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +ZSTD +SECCOMP +BLKID +ELFUTILS +KMOD +IDN2 -IDN +PCRE2 default-hierarchy=hybrid)
[ 4.025381] systemd[1]: Detected architecture x86-64.
[ 4.046020] systemd[1]: Set hostname to <kiev>.
[ 4.132974] systemd[1]: /lib/systemd/system/docker.socket:6: ListenStream= references a path below legacy directory /var/run/, updating /var/run/docker.sock → /run/docker.sock; please update the unit file accordingly.
[ 4.137916] systemd[1]: /lib/systemd/system/dbus.service:12: Unit configured to use KillMode=none. This is unsafe, as it disables systemd's process lifecycle management for the service. Please update your service to use a safer KillMode=, such as 'mixed' or 'control-group'. Support for KillMode=none is deprecated and will eventually be removed.
[ 4.164397] systemd[1]: /lib/systemd/system/plymouth-start.service:17: Unit configured to use KillMode=none. This is unsafe, as it disables systemd's process lifecycle management for the service. Please update your service to use a safer KillMode=, such as 'mixed' or 'control-group'. Support for KillMode=none is deprecated and will eventually be removed.
[ 4.193000] systemd[1]: /lib/systemd/system/gdm.service:30: Standard output type syslog is obsolete, automatically updating to journal. Please update your unit file, and consider removing the setting altogether.
这是我上次系统更新后发生的...重启和/或另一次系统更新后也出现同样的情况...有什么想法吗?
Ubuntu 20.04
答案1
临时解决方法:删除 /var/crash/ 下的所有文件。这不是一个长期甚至中期的解决方案,但总比什么都不做要好。
答案2
旧的过时的解决方案请参阅下面的更新以获得更好的方法
关闭失控的服务apport
sudo systemctl disable apport-autoreport
# sudo apt-get purge apport # avoid it works yet is too heavy handed
sudo apt-get purge apport-noui
重启后,systemd CPU 使用率恢复正常
tracker-miner-fs
即使在再次重启后 CPU 仍然使用 100%,所以我发出
gsettings set org.freedesktop.Tracker.Miner.Files crawling-interval -2
gsettings set org.freedesktop.Tracker.Miner.Files enable-monitors false
echo y | LANG=en tracker reset --hard
现在一切都好
更新
编辑文件 /usr/lib/systemd/system/apport-autoreport.path
# PathExistsGlob=/var/crash/*.crash # <-- old bad comment it out
PathChangedGlob=/var/crash/*.crash # good new replaces above line
保存然后发布
sudo systemctl daemon-reload
详情请参阅 https://bugs.launchpad.net/ubuntu/+source/apport/+bug/1891657
几个月后,这个问题已经得到解决,下面是来自一个健康正常的盒子的内容(截至 20210812 的 Ubuntu 20.04)
cat /usr/lib/systemd/system/apport-autoreport.path
[Unit]
Description=Process error reports when automatic reporting is enabled (file watch)
ConditionPathExists=/var/lib/apport/autoreport
[Path]
PathExistsGlob=/var/crash/*.crash
[Install]
WantedBy=paths.target