"최대 클라이언트 수에 도달했습니다"X 오류를 진단 / 디버그하는 방법은 무엇입니까?


32

X가 프로세스가 창을 생성하지 못하게하여 다음과 같은 내용을 발화시키는 문제를 겪고 있습니다 ~/.xsession-errors.

cannot open display: :0.0
Maximum number of clients reached

주변에서 검색하면이 문제에 직면 한 사람들의 예가 많이 있으며 사람들이 실행중인 프로그램이 모든 클라이언트 슬롯을 사용하고 있는지 식별하는 경우가 있습니다. 예를 들어, 참조 LP 70872 (파이어 폭스), LP 263211 (그놈 - 화면 보호기).

그놈의 가치를 위해 그놈 데스크탑과 함께하는 일반적인 물건, 때로는 다른 비트와 조각들에 대해 거의 항상 그놈 터미널, 썬더 버드, 크롬 브라우저, 공감, 톰보이 및 가상 상자를 실행합니다.

그러나 내 질문은 "내 프로그램 중 어느 것이이 문제를 일으키는 지"가 아니라 오히려이 문제를 진단하는 방법은 무엇입니까?

위의 (및 기타) 버그, 포럼 보고서 등에서 많은 도구가 제안됩니다.

  • xlsclients -주어진 디스플레이에 대한 클라이언트 응용 프로그램을 나열하지만 'X 클라이언트'에 해당한다고 생각하지 않습니다.
  • xrestop-최상위 스타일 X 리소스 도구, X 클라이언트 당 한 행. xlsclients출력에 표시되지 않은 많은 ''클라이언트
  • xwininfo -root -children X 윈도우 객체를 나열합니다

내가 수집 할 수있는 것에서 문제는 너무 많은 클라이언트가 아니라 오랫동안 분리 된 클라이언트를 위해 X 서버에 유지되는 리소스입니다. 그러나 X 리소스를 클라이언트와 다시 연결할 수없는 것처럼 보입니다. 이 문제가 발생하기 시작한 후에 효과적으로이 문제를 진단 할 수 있습니까, 아니면 제가 유일하게 공개 한 접근 방식을 실행하는 앱에 대한 지루한 분할 및 정복 접근법입니까?

2011 년 1 월 업데이트 :이 문제가 해결 된 것 같습니다. 이 문제를 극복하는 누군가의 이익을 위해, 노틸러스 및 / 또는 compiz 또는 그 소프트웨어 체인의 무언가는 내가 가진 배경 화면으로 인해 segfaulting되었습니다. 나는 회전하는 이미지 갤러리를 정의하는 XML 파일을 배경 화면으로 선택했다. 수작업으로 작성되었지만 /usr/share/backgrounds/contest/background-1.xml 또는 이와 유사한 것을 기반으로합니다. 배경 화면을 비활성화하면 그 이후로 충돌이 없었습니다.

실제 특정 문제는 내 질문이 아니기 때문에 아직 대답하지 않은 것으로 표시했지만 진단 방법은 아닙니다. 불행히도 이것은 대부분 시행 착오였습니다.


1
xrestop출력 을 확인 했습니까 ? 처음 3 줄은 무엇을 말합니까? 머신에 얼마나 많은 메모리 / 비디오 메모리가 있습니까?
jneves

xrestop"최대 클라이언트 수에 도달했습니다"라는 메시지도 표시됩니다. -> 디스플레이를 열 수 없습니다.
Sanjay Manohar

아마이 답변 은 누군가에게 도움 될 수 있습니다
gumkins

답변:


14

lsof -U소켓 파일을 사용하는 프로세스 목록 을 사용하여 X 서버에 연결할 필요가 없기 때문에 x-tools가 작동하지 않는이 "교착 상태"를 해결했습니다 .

이 예에서는 새로운 "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

내 경우에는 baloo_file_extractor가 사라졌습니다.
EFraim

필자의 경우 이전 버전의 TeamViewer였습니다. 시작하는 동안 너무 많은 프로세스와 X 서버에 대한 연결을 연 다음 시작하지 못하고 모든 것이 정상으로 돌아 왔습니다.
Antonio Vinicius Menezes Medei

lsof -U | wc -l유용 할 수 있습니다.
Antonio Vinicius Menezes Medei

4

이 문제는 컴퓨터를 자주 재부팅하지 않는 사람에게는 중요하다고 생각하기 때문에 같은 질문이 있습니다. 지난 수년간 유닉스 / 리눅스 / 우분투에 대해 정말 좋아했던 점은 새 커널을 설치할 때를 제외하고 재부팅하지 않고 몇 달 동안 랩탑을 안정적으로 실행할 수 있다는 것입니다. Maverick (Ubuntu 10.10) 인 "스위트"로 업그레이드 한 후이 문제가 발생하여 일주일 동안 만 실행할 수 있습니다.

'xrestop'도 시도했습니다. 리소스 누수 속도를 늦추는 compiz 창 효과를 중지했지만 여전히 이것이 발생하는 이유를 알 수 없습니다. 그것은 WinXP 머신으로 돌아가는 것과 거의 같습니다 ... :-(

네! 더 나은 X 디버깅 도구가 좋습니다. 'xrestop'의 한 가지 문제는 리소스도 필요하다는 것입니다. 따라서 일단 벽에 부딪 치더라도 실행되지 않습니다.

이 문제가 발생하는 다른 사람들을위한 팁으로 (예 : 대기 모드에서 재개하고 생성 할 리소스가 없기 때문에 절대 나타나지 않는 암호 창을 기다리는 경우), 프레임 버퍼 터미널로 전환 한 후 다시 (Ctrl-Alt- F1을 누른 다음 Ctrl-Alt-F7)은 몇 가지 중요한 리소스를 해제하는 것으로 보입니다.

더그


더 많은 검색을하고 내 문제를 디버깅하는 유용한 Python 스크립트를 찾았습니다 ( Adam! 감사합니다 ). 이를 통해 메일 프로그램의 애드온 인 Thunderbird의 Minimize-to-tray는 최소 4 개의 파일 설명자를 추가로 사용하고 있음을 알 수있었습니다. 비활성화하면 문제가 해결 된 것으로 보입니다.

@ 스크립트를 사용할 수 없습니다 user10906한다 : IndexError: list index out of range일부 라인이되지 않았기 때문에 Pathnetstat -an --unix출력.
Juan Simón

1
@ Simón 해당 스크립트를 수정했습니다 ( gist.github.com/vorburger/8369050 참조) . 나는 그것으로 무엇을 해야할지 잘 모르겠지만 ... ;-)
vorburger

따라서 스크립트가 실행되고 스팸이 많이 발생하고 이상하게 보이지 않습니다. 다음은 무엇입니까?
user230910

2

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/


나는 그 확장을 사용하지 않습니다.
jmtd

Chromium을 제거한 상태에서 시스템을 테스트하여 문제가 완화되는지 확인하십시오. 일단 확인되면 어떻게 고칠 지 확실하지 않습니다 (가능한 경우 피하고 싶다고 가정하는 Chromium 제거 부족).
Jeremy

마지막 도랑 노력으로 나는 그것을 시도 할 수 있습니다. gnome-screensaver와 같이 Google이 손가락을 가리키는 다른 소프트웨어에도 동일하게 적용됩니다. 문제는 크롬을 꽤 많이 사용하기 때문에 일시적 으로라도 제거하면 작업 관행에 크게 타격을 받는다는 것입니다. 내가 정말로하고 싶은 것은 그것을 사용을 중단하지 않고 책임이 있음을 증명하는 것입니다.
jmtd

나는 같은 오류 (Lastpass를 사용하지 않음)를 가지고 있었고 많은 크롬 프로세스가 나를 위해 원인이었습니다 (lsof가 원인을 찾는 데 도움이 됨)
dufte

0

나는 lsof -Uvlc 인스턴스를 많이 관찰했다.

내 문제를 해결하기 위해 다음을 실행합니다.

killall vlc

0

lsof -U 엄청난 수의 xcape 인스턴스를 보여줍니다.

kill xcape 문제를 풀다.

이제 rofi와 tor-browser를 다시 사용할 수 있습니다.


0

오픈 오피스와 동일한 문제에 직면했습니다. 메모리 때문입니다. (RAM),
모든 터미널 (앱 포함)을 종료하십시오.sudo reboot now

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.