Ubuntu 18.04:已达到最大客户端数量 - 与 dbus-daemon 相关

Ubuntu 18.04:已达到最大客户端数量 - 与 dbus-daemon 相关

我时不时会收到此消息,当这种情况发生时,我无法启动应用程序。

我试过这些链接: 由于“已达到最大客户端数量”错误,无法启动应用程序我如何诊断/调试“已达到最大客户端数量”X 错误? 但我找不到合适的解决方案。

一些信息:运行lsof -U +c 15 | cut -f1 -d' ' | sort | uniq -c | sort -rn | head -15 结果是:

109 dbus-daemon
 16 systemd
 15 gnome-shell
 12 ibus-daemon
 11 xdg-desktop-por
 11 nautilus
 11 gnome-session-b
 10 pulseaudio
 10 gnome-software
  9 x-terminal-emul
  8 gsd-media-keys
  7 update-notifier
  7 gsd-xsettings
  7 gsd-power
  7 gsd-keyboard

这是当我只打开一个终端时的情况,nautilus 文件资源管理器、chrome(7 个选项卡)和 blender。

我的主要怀疑是dbus-daemon我的问题:

  1. 我怎样才能诊断出导致 dbus 出现这种行为的原因?
  2. 有没有办法增加限制?我有一台相当强大的机器,而且……
  3. 该怎么办?我应该朝不同的方向搜索吗?

编辑:运行后uname -s -v -i -o我得到:Linux #52~18.04.1-Ubuntu SMP Thu Sep 10 12:50:22 UTC 2020 x86_64 GNU/Linux

答案1

我认为这与您的软件版本无关,因为我在 Lubuntu 20.04 上遇到了同样的问题。

我认为我找到了解决“最大客户数量已达到”问题的方向https://unix.stackexchange.com/questions/498652/does-x-window-have-a-maximum-number-limit-on-clients

简而言之,我做了以下事情:

通过下一个命令查找可能的最大 maxclients 数量:

/usr/lib/xorg/Xorg -maxclients 1000000000

在我的情况下,最大 maxclients 是 2048(必须是 2 的幂,所以是 128、256 等)

由于文件系统安全,下一个命令需要以 root 身份执行:

sudo -i 
printf 'Section "ServerFlags"\n\tOption "MaxClients" "512"\nEndSection\n' > /etc/X11/xorg.conf.d/99-maxclients.conf
exit

我安装了一个工具来监控X相关的东西:

sudo apt-get install xrestop

我还在 ~/.bashrc 末尾添加了接下来的 3 行:

function watchlsof { watch "lsof -U +c 15 | cut -f1 -d' ' | sort | uniq -c  | sort -rn | head -15" ; }
export -f watchlsof
echo "Use 'typeset -f | -F' to list functions"

因此,现在我可以使用 watchlsof 和 xrestop 命令进行监控,以后可能会将 99-maxclients.conf 中的值增加到 1024 或最高值 2048

我希望这有帮助

相关内容