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
    • 最新
    • 标签
主页 / ubuntu / 问题 / 4499
In Process
jmtd
jmtd
Asked: 2010-09-22 05:02:56 +0800 CST2010-09-22 05:02:56 +0800 CST 2010-09-22 05:02:56 +0800 CST

如何诊断/调试“达到的最大客户端数”X 错误?

  • 772

我遇到了一个问题,即 X 阻止进程创建窗口,说出类似以下内容~/.xsession-errors:

cannot open display: :0.0
Maximum number of clients reached

搜索周围有很多人面临这个问题的例子,有时人们会确定他们正在运行的程序正在使用所有客户端插槽。参见例如 LP 70872 (Firefox)、 LP 263211 (gnome-screensaver)。

对于它的价值,我几乎一直在运行 gnome-terminal、thunderbird、chromium-browser、empathy、tomboy 和 virtualbox,除了您使用 GNOME 桌面获得的正常内容之外,偶尔还会运行一些其他零碎的东西。

但是我的问题不是“我的哪个程序导致了这个问题”,而是如何诊断这个问题?

在上述(和其他)错误、论坛报告等中,建议使用一些工具:

  • xlsclients- 列出给定显示的客户端应用程序,但我认为这与“X 客户端”不对应
  • xrestop- 顶级风格的 X 资源工具,每个 X 客户端一行。许多''客户,未显示在xlsclients输出中
  • xwininfo -root -children列出 X 窗口对象

据我所知,问题可能根本不是太多的客户端,而是 X 服务器中为长期分离的客户端保留的资源。但是您似乎也不能(很容易?)将 X 资源与他们的客户相关联。一旦它开始发生,一个人能否有效地诊断这个问题,或者对于我运行的应用程序来说,一种乏味的分而治之的方法是唯一对我开放的方法?

2011 年 1 月更新:我想我已经解决了这个问题。为了任何偶然发现此问题的人的利益,nautilus 和/或 compiz 或该软件链中的某些东西由于我拥有的墙纸而出现了段错误。我选择了一个 XML 文件作为我的墙纸,它定义了一个旋转的图像画廊。它是手工制作的,但基于 /usr/share/backgrounds/contest/background-1.xml 或类似文件。禁用墙纸,从那以后我就没有崩溃过。

我还没有将此标记为已回答,因为实际的具体问题不是我的问题,而是如何诊断它。不幸的是,这主要是反复试验,这很糟糕。

xorg debug
  • 7 7 个回答
  • 43672 Views

7 个回答

  • Voted
  1. bohrax
    2014-04-17T03:25:32+08:002014-04-17T03:25:32+08:00

    我设法解决了这个“死锁”,其中没有一个 x-tools 工作,因为它们也需要连接到 X 服务器,通过使用lsof -Uwhich 列出正在使用套接字文件的进程。

    在这个例子中,它是一个错误的启动脚本,它产生了新的“badproc”进程越界。

    示例输出lsof -U:

    COMMAND    PID      USER   FD   TYPE     DEVICE SIZE   NODE NAME
    badproc   4770 bohrax       3u  unix 0xf3ba9540       13011 socket
    xfce4-ses 4773 bohrax       3u  unix 0xf3bd21c0       13024 socket
    xfce4-ses 4773 bohrax       4u  unix 0xf39ef000       13080 /tmp/.ICE-unix/4773
    xfce4-ses 4773 bohrax      13u  unix 0xf3bf81c0       13563 socket
    xfce4-ses 4773 bohrax      14u  unix 0xf3bf8a80       13565 /tmp/orbit-bohrax   /linc-12a5-0-78fe5c0776a06
    xfce4-ses 4773 bohrax      15u  unix 0xf3bf8e00       13568 /tmp/orbit-bohrax   /linc-12a5-0-78fe5c0776a06
    xfce4-ses 4773 bohrax      16u  unix 0xf3b411c0       13580 /tmp/.ICE-unix/4773
    xfce4-ses 4773 bohrax      17u  unix 0xf0074380       13688 /tmp/.ICE-unix/4773
    xfce4-ses 4773 bohrax      18u  unix 0xf3b6e380       13621 /tmp/.ICE-unix/4773
    xfce4-ses 4773 bohrax      21u  unix 0xf0074c40       13778 /tmp/.ICE-unix/4773
    badproc   4775 bohrax       1u  unix 0xf3bd2540       13013 socket
    badproc   4781 bohrax       1u  unix 0xf3bd2c40       13021 socket
    xfce-mcs- 4821 bohrax       3u  unix 0xf3be5540       13456 socket
    xfce-mcs- 4821 bohrax       5u  unix 0xf3ba98c0       13484 socket
    xfwm4     4827 bohrax       3u  unix 0xf3be5a80       13573 socket
    xfwm4     4827 bohrax       4u  unix 0xf3b41000       13579 socket
    Thunar    4831 bohrax       3u  unix 0xf3b6b000       13598 socket
    Thunar    4831 bohrax       8u  unix 0xf3b6be00       13613 socket
    Thunar    4831 bohrax       9u  unix 0xf3b41e00       13617 socket
    Thunar    4831 bohrax      10u  unix 0xf3b6e1c0       13620 socket
    Thunar    4831 bohrax      13u  unix 0xf0022000       13643 socket
    gam_serve 4834 bohrax       4u  unix 0xf3b6b540       13607 socket
    gam_serve 4834 bohrax       7u  unix 0xf3b41c40       13614 socket
    gam_serve 4834 bohrax       8u  unix 0xf0020000       13656 socket
    xfdesktop 4836 bohrax       3u  unix 0xf3b6ee00       13652 socket
    xfdesktop 4836 bohrax       8u  unix 0xf3be5000       13655 socket
    xfdesktop 4836 bohrax       9u  unix 0xf0020540       13665 socket
    xfdesktop 4836 bohrax      10u  unix 0xf0020380       13667 socket
    xfdesktop 4836 bohrax      13u  unix 0xf0074000       13687 socket
    python    4837 bohrax       4u  unix 0xf00208c0       13672 socket
    python    4837 bohrax       8u  unix 0xf3b6bc40       13880 socket
    dbus-laun 4841 bohrax       3u  unix 0xf3b6ec40       13627 socket
    dbus-laun 4841 bohrax       6u  unix 0xf0022c40       13644 socket
    dbus-laun 4841 bohrax       8u  unix 0xf3b6be00       13613 socket
    dbus-daem 4842 bohrax       3u  unix 0xf00221c0       13640 socket
    dbus-daem 4842 bohrax       8u  unix 0xf3b6be00       13613 socket
    dbus-daem 4842 bohrax       9u  unix 0xf00228c0       13641 socket
    dbus-daem 4842 bohrax      10u  unix 0xf0022a80       13642 socket
    dbus-daem 4842 bohrax      13u  unix 0xf0022380       13646 socket
    dbus-daem 4842 bohrax      14u  unix 0xf00201c0       13666 socket
    dbus-daem 4842 bohrax      15u  unix 0xf3b41540       13796 socket
    dbus-daem 4842 bohrax      16u  unix 0xf3bd28c0       13881 socket
    badproc   6314 bohrax       3u  unix 0xde00d380       95944 socket
    badproc   6315 bohrax       1u  unix 0xde00d540       95946 socket
    badproc   6322 bohrax       3u  unix 0xde00d8c0       96515 socket
    badproc   6323 bohrax       1u  unix 0xde00de00       96517 socket
    badproc   6330 bohrax       3u  unix 0xdf7ea000       97181 socket
    badproc   6331 bohrax       1u  unix 0xdf7ea540       97184 socket
    badproc   6338 bohrax       3u  unix 0xdf7ea8c0       97736 socket
    badproc   6339 bohrax       1u  unix 0xde0481c0       97737 socket
    badproc   6345 bohrax       3u  unix 0xde048700       98209 socket
    badproc   6346 bohrax       1u  unix 0xde0488c0       98210 socket
    badproc   6352 bohrax       3u  unix 0xde048e00       98776 socket
    badproc   6353 bohrax       1u  unix 0xde058000       98778 socket
    badproc   6359 bohrax       3u  unix 0xde058700       99293 socket
    badproc   6360 bohrax       1u  unix 0xde0588c0       99296 socket
    badproc   6367 bohrax       3u  unix 0xde08c000       99841 socket
    badproc   6368 bohrax       1u  unix 0xde08c540       99842 socket
    badproc   6375 bohrax       3u  unix 0xde08c8c0      100365 socket
    badproc   6376 bohrax       1u  unix 0xde058c40      100367 socket
    badproc   6383 bohrax       3u  unix 0xde09d1c0      101008 socket
    badproc   6384 bohrax       1u  unix 0xde09d540      101010 socket
    badproc   6392 bohrax       3u  unix 0xde09dc40      101681 socket
    badproc   6393 bohrax       1u  unix 0xdf70a1c0      101682 socket
    badproc   6400 bohrax       3u  unix 0xdf70a380      102324 socket
    badproc   6401 bohrax       1u  unix 0xdf70a700      102325 socket
    badproc   6409 bohrax       3u  unix 0xdf70ae00      102982 socket
    badproc   6410 bohrax       1u  unix 0xde0ce1c0      102984 socket
    badproc   6417 bohrax       3u  unix 0xde0ce380      103556 socket
    badproc   6418 bohrax       1u  unix 0xde0ce8c0      103561 socket
    badproc   6424 bohrax       3u  unix 0xde0cee00      104133 socket
    badproc   6425 bohrax       1u  unix 0xde0bd000      104135 socket
    badproc   6432 bohrax       3u  unix 0xde0bd380      104716 socket
    badproc   6433 bohrax       1u  unix 0xde0bd8c0      104717 socket
    badproc   6440 bohrax       3u  unix 0xde120000      105280 socket
    badproc   6441 bohrax       1u  unix 0xde120540      105285 socket
    badproc   6448 bohrax       3u  unix 0xde1208c0      105907 socket
    badproc   6449 bohrax       1u  unix 0xde0bdc40      105908 socket
    badproc   6456 bohrax       3u  unix 0xf01701c0      106486 socket
    badproc   6457 bohrax       1u  unix 0xf0170540      106488 socket
    badproc   6465 bohrax       3u  unix 0xf0170c40      107123 socket
    badproc   6466 bohrax       1u  unix 0xf0170e00      107126 socket
    badproc   6473 bohrax       3u  unix 0xde140000      107774 socket
    badproc   6474 bohrax       1u  unix 0xde140540      107778 socket
    badproc   6479 bohrax       3u  unix 0xde1408c0      108239 socket
    badproc   6480 bohrax       1u  unix 0xde1881c0      108240 socket
    badproc   6488 bohrax       3u  unix 0xde188700      108825 socket
    badproc   6489 bohrax       1u  unix 0xde1888c0      108828 socket
    badproc   6495 bohrax       3u  unix 0xde188e00      109377 socket
    badproc   6496 bohrax       1u  unix 0xde18f000      109379 socket
    badproc   6503 bohrax       3u  unix 0xde18f380      109907 socket
    badproc   6504 bohrax       1u  unix 0xde18f8c0      109909 socket
    badproc   6511 bohrax       3u  unix 0xde1c8000      110488 socket
    badproc   6512 bohrax       1u  unix 0xde1c8540      110489 socket
    badproc   6519 bohrax       3u  unix 0xde1c88c0      111070 socket
    badproc   6520 bohrax       1u  unix 0xde18fc40      111071 socket
    badproc   6527 bohrax       3u  unix 0xde1fa1c0      111629 socket
    badproc   6528 bohrax       1u  unix 0xde1fa540      111631 socket
    badproc   6531 bohrax       3u  unix 0xde1fa8c0      111899 socket
    badproc   6532 bohrax       1u  unix 0xde1fae00      111901 socket
    badproc   6535 bohrax       3u  unix 0xde219000      111998 socket
    badproc   6536 bohrax       1u  unix 0xde219540      112000 socket
    badproc   6539 bohrax       3u  unix 0xde2198c0      112114 socket
    badproc   6540 bohrax       1u  unix 0xde2431c0      112116 socket
    badproc   6547 bohrax       3u  unix 0xde243380      112663 socket
    badproc   6548 bohrax       1u  unix 0xde2438c0      112664 socket
    badproc   6555 bohrax       3u  unix 0xde243c40      113256 socket
    badproc   6556 bohrax       1u  unix 0xde251000      113258 socket
    badproc   6564 bohrax       3u  unix 0xde251700      113931 socket
    badproc   6565 bohrax       1u  unix 0xde2518c0      113932 socket
    badproc   6572 bohrax       3u  unix 0xde291000      114525 socket
    badproc   6573 bohrax       1u  unix 0xde291540      114526 socket
    badproc   6579 bohrax       3u  unix 0xde291c40      115112 socket
    badproc   6580 bohrax       1u  unix 0xde251c40      115113 socket
    badproc   6588 bohrax       3u  unix 0xde274380      115733 socket
    badproc   6589 bohrax       1u  unix 0xde274540      115738 socket
    
    • 18
  2. user10906
    2011-02-16T12:32:58+08:002011-02-16T12:32:58+08:00

    我有同样的问题,因为我认为这个问题对于不经常重启计算机的人来说很重要。多年来,我真正喜欢 UNIX/Linux/Ubuntu 的一件事是,我可以可靠地运行笔记本电脑数月而无需重新启动(仅暂停),除非我安装了新内核。自从升级到 Maverick (Ubuntu 10.10) 的“套件”后,我遇到了这个问题,只能运行一周。

    我也试过'xrestop';停止了compiz窗口效果(减慢了资源泄漏),但仍然无法找出发生这种情况的原因。这几乎就像回到 WinXP 机器上...... :-(

    所以是的!更好的 X 调试工具会很好。'xrestop' 的一个问题是它也需要资源,所以一旦你碰壁,即使它也不会运行。

    作为对其他被此卡住的人的提示(例如:从待机状态恢复并等待永远不会出现的密码窗口,因为没有资源可以创建它),切换到帧缓冲终端并返回(Ctrl-Alt- F1,然后是 Ctrl-Alt-F7)似乎释放了一些关键资源。

    道格

    • 5
  3. oliver
    2020-01-29T07:53:41+08:002020-01-29T07:53:41+08:00

    以下是在 Ubuntu 16.04 上调试此问题的一些经验。

    Indeedxlsclients报告的数字似乎不正确:即使调试器显示 Xorg 达到 MaxClients 限制(例如 256),xlsclients | wc -l报告的数字也会低得多(例如 164 个客户端)。我不确定哪些客户端被 忽略了xlsclients,但它的输出对于检测“已达到最大客户端数”错误的原因没有用处。

    lsof -U也出现给出不完整的结果:它只报告一些客户端连接,但不是全部。它只报告使用抽象@/tmp/.X11-unix/X0套接字文件的连接;但是还有更多的连接(显示为sock带有描述“协议:UNIX”的类型)没有出现在lsof -U. 我还没有找到任何lsof限制显示这些套接字的标志;但如果您列出进程的所有打开文件,至少会显示它们。

    所以这个命令似乎给出了一个很好的客户端连接计数:

    lsof -p $(pgrep Xorg) | grep -E 'X11-unix|(protocol: UNIX)' | wc -l

    仅部分相关:看起来最新的 Firefox (72) 将为每个新实例打开 2 个显示为 的连接@/tmp/.X11-unix/X0,以及另外 6 个显示为 的连接protocol: UNIX。protocol: UNIX每个新标签都会再打开 2 个该类型的套接字。因此,对于许多 Firefox 实例和选项卡,您可以非常可靠地达到 256 MaxClients 的限制。

    • 4
  4. Jeremy
    2010-10-13T16:30:33+08:002010-10-13T16:30:33+08:00

    Chromium/Chrome 存在一些导致此错误消息的已知问题。您使用 Lastpass 扩展程序吗?

    参考:http ://www.ngohaibac.com/how-to-solve-maximum-number-of-clients-reached-gtk-warning-cannot-open-display-in-ubuntu-9-10-64-bit/

    • 2
  5. azzamsa
    2018-09-23T21:45:11+08:002018-09-23T21:45:11+08:00

    lsof -U显示大量的 xcape 实例。

    kill xcape解决这个问题。

    现在我可以再次使用 rofi 和 tor-browser 了。

    • 1
  6. Virako
    2017-03-18T11:50:11+08:002017-03-18T11:50:11+08:00

    我做:lsof -U我观察了很多 vlc 实例。

    为了解决我的问题,我执行:

    killall vlc
    
    • 0
  7. yunus
    2018-12-27T00:54:31+08:002018-12-27T00:54:31+08:00

    与openoffice面临同样的问题,它是因为内存(RAM),
    尝试关闭所有终端(包括应用程序),如果没有工作尝试sudo reboot now

    • -2

相关问题

  • xorg 中是否有用于更改视频驱动程序的 GUI?

  • 如何使 cron 电子邮件成为我的 @gmail 帐户

  • 类似于 Eyefinity 的东西?

  • 如何重置我的键盘布局?

  • 帮助让 Flash 播放器在第二个屏幕上工作?

Sidebar

Stats

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

    如何安装 .run 文件?

    • 7 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    如何获得 CPU 温度?

    • 21 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Marko Smith

    如何使用命令行将用户添加为新的 sudoer?

    • 7 个回答
  • Marko Smith

    更改文件夹权限和所有权

    • 9 个回答
  • Marko Smith

    你如何重新启动Apache?

    • 13 个回答
  • Marko Smith

    如何卸载软件?

    • 11 个回答
  • Marko Smith

    如何删除 PPA?

    • 26 个回答
  • Martin Hope
    NES 如何启用或禁用服务? 2010-12-30 13:03:32 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    Olivier Lalonde 如何在结束 ssh 会话后保持进程运行? 2010-10-22 04:09:13 +0800 CST
  • Martin Hope
    David B 如何使用命令行将用户添加为新的 sudoer? 2010-10-16 04:02:45 +0800 CST
  • Martin Hope
    Hans 如何删除旧内核版本以清理启动菜单? 2010-08-21 19:37:01 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

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

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve