Làm cách nào tôi có thể chẩn đoán / gỡ lỗi Số lượng khách hàng tối đa đạt được lỗi X của X?


32

Tôi đang gặp phải một vấn đề trong đó X ngăn các quá trình tạo các cửa sổ, nói ra một cái gì đó như sau ~/.xsession-errors:

cannot open display: :0.0
Maximum number of clients reached

Tìm kiếm xung quanh có rất nhiều ví dụ về những người gặp phải vấn đề này và đôi khi mọi người xác định chương trình họ đang chạy đang sử dụng hết tất cả các vị trí máy khách. Xem ví dụ LP 70872 (Firefox), LP 263211 (gnome-Screensaver).

Để biết giá trị của nó, tôi chạy gnome-terminal, thunderbird, trình duyệt crom, sự đồng cảm, tomboy và hộp ảo gần như mọi lúc, bên trên những thứ bình thường bạn có được với máy tính để bàn Gnome, và đôi khi một số bit và miếng khác.

Tuy nhiên, câu hỏi của tôi không phải là "chương trình nào của tôi gây ra vấn đề này" mà là, làm thế nào một người có thể đi chẩn đoán vấn đề này?

Trong các lỗi trên (và các lỗi khác), báo cáo diễn đàn, v.v., một số công cụ được đề xuất:

  • xlsclients - liệt kê các ứng dụng khách cho màn hình đã cho, nhưng tôi không nghĩ rằng nó tương ứng với 'X client'
  • xrestop- một công cụ tài nguyên X kiểu hàng đầu, một hàng cho mỗi máy khách X. Rất nhiều khách hàng '', không được hiển thị trong xlsclientsđầu ra
  • xwininfo -root -children liệt kê các đối tượng cửa sổ X

Từ những gì tôi có thể thu thập, vấn đề có thể không có quá nhiều khách hàng, mà là các tài nguyên được giữ trong máy chủ X cho các khách hàng đã tách ra từ lâu. Nhưng cũng có vẻ như bạn không thể (dễ dàng?) Liên hệ các tài nguyên X lại với máy khách của họ. Liệu người ta có thể chẩn đoán vấn đề này một cách hiệu quả khi nó đã bắt đầu xảy ra hay là một cách tiếp cận phân chia và chinh phục tẻ nhạt cho các ứng dụng mà tôi chạy theo cách tiếp cận duy nhất mở ra cho tôi?

Cập nhật tháng 1 năm 2011: Tôi nghĩ rằng tôi đã giải quyết vấn đề này. Vì lợi ích của bất kỳ ai vấp phải điều này, nautilus và / hoặc compiz hoặc thứ gì đó trong chuỗi phần mềm đó đã bị lỗi do hình nền tôi có. Tôi đã chọn một tệp XML làm hình nền của mình, trong đó xác định một bộ sưu tập hình ảnh xoay. Nó được làm bằng tay, nhưng dựa trên /usr/share/backgrounds/contest/background-1.xml hoặc tương tự. Vô hiệu hóa hình nền và tôi đã không gặp sự cố kể từ đó.

Tôi chưa đánh dấu điều này như đã trả lời, vì vấn đề cụ thể thực tế không phải là câu hỏi của tôi, mà là làm thế nào để chẩn đoán nó. Thật không may, điều này chủ yếu là thử và sai.


1
Bạn đã kiểm tra xrestopđầu ra chưa? 3 dòng đầu tiên nói gì với bạn? Bạn có bao nhiêu bộ nhớ / bộ nhớ video trong máy?
jneves

xrestopsẽ không bắt đầu - nó cũng phàn nàn "Số lượng khách hàng tối đa đạt được"! -> không thể mở màn hình.
Sanjay Manohar

Có lẽ câu trả lời này có thể hữu ích cho ai đó
kẹo cao su

Câu trả lời:


14

Tôi đã quản lý để giải quyết "bế tắc" này, trong đó không có công cụ x nào hoạt động vì chúng cũng cần kết nối với máy chủ X, bằng cách sử dụng lsof -Udanh sách các quy trình đang sử dụng tệp socket.

Trong ví dụ này, đó là một kịch bản khởi động tồi đã sinh ra các quá trình "badproc" mới ngoài giới hạn.

Ví dụ đầu ra từ 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

Trong trường hợp của tôi, đó là baloo_file_extractor trở nên hoang dã.
EFraim

Trong trường hợp của tôi, đó là một phiên bản cũ của TeamViewer. Trong khi cố gắng bắt đầu, nó đã mở quá nhiều quá trình và kết nối đến máy chủ X, sau đó nó không khởi động được và mọi thứ trở lại bình thường.
Antonio Vinicius Menezes Medei

lsof -U | wc -lcó thể có ích đấy.
Antonio Vinicius Menezes Medei

4

Tôi có cùng một câu hỏi, bởi vì tôi nghĩ vấn đề này rất quan trọng đối với bất kỳ ai không khởi động lại máy tính của họ thường xuyên. Một điều tôi thực sự thích về UNIX / Linux / Ubuntu trong nhiều năm qua là tôi có thể chạy máy tính xách tay của mình trong nhiều tháng mà không cần khởi động lại (chỉ tạm dừng), trừ khi tôi cài đặt kernel mới. Kể từ khi nâng cấp lên "bộ" đó là Maverick (Ubuntu 10.10), tôi đã gặp phải điều này và chỉ có thể chạy trong một tuần.

Tôi cũng đã thử 'xrestop'; đã dừng các hiệu ứng cửa sổ compiz (làm chậm sự rò rỉ tài nguyên), nhưng vẫn không thể tìm ra lý do tại sao điều này xảy ra. Nó gần giống như trở lại trên máy WinXP ... :-(

Vì vậy, có! Công cụ sửa lỗi X tốt hơn sẽ tốt. Một vấn đề với 'xrestop' là nó cũng đòi hỏi tài nguyên, vì vậy một khi bạn va vào tường, thậm chí nó sẽ không chạy.

Như một lời khuyên cho những người khác bị mắc kẹt bởi điều này (ví dụ: khi tiếp tục từ Chế độ chờ và chờ cửa sổ mật khẩu sẽ không bao giờ xuất hiện vì không có tài nguyên để tạo), hãy chuyển sang thiết bị đầu cuối bộ đệm khung và quay lại (Ctrl-Alt- F1, sau đó Ctrl-Alt-F7) dường như giải phóng một số tài nguyên quan trọng.

Doug


Chỉ cần thực hiện thêm một số tìm kiếm và tìm thấy một tập lệnh Python hữu ích để gỡ lỗi vấn đề của tôi ( cảm ơn Adam! ). Điều này cho phép tôi nhận thấy rằng một addon cho chương trình thư của tôi, Thu nhỏ vào khay của Thunderbird, đang tiêu thụ thêm phần mô tả tệp, 4 cho mỗi lần thu nhỏ. Vô hiệu hóa nó dường như đã giải quyết vấn đề.

@ user10906 Đó kịch bản là không sử dụng được: IndexError: list index out of rangevì một số dòng có không Pathnetstat -an --unixđầu ra.
Juan Simón

1
@ Simón Tôi đã sửa tập lệnh đó, xem gist.github.com/vorburger/8369050 . Mặc dù tôi không biết phải làm gì với nó, nhưng ... ;-)
vorburger

Vì vậy, kịch bản chạy, nó spam rất nhiều đầu ra và không có gì lạ cả. Tiếp theo là gì?
user230910

2

Chromium / Chrome có một số sự cố đã biết dẫn đến thông báo lỗi này. Bạn có sử dụng tiện ích mở rộng Lastpass không?

ref: http://www.ngohaibac.com/how-to-solve-maximum-number-of-clents-reached-gtk-warning-cannot-open-display-in-ubfox-9-10-64-bit/


Tôi không sử dụng phần mở rộng đó.
jmtd

Vẫn đáng để kiểm tra hệ thống với Chromium được gỡ bỏ để xem liệu nó có làm giảm bớt sự cố không. Không chắc chắn cách bạn khắc phục nó sau khi đã xác nhận (thiếu loại bỏ Chromium, mà tôi cho rằng bạn muốn tránh nếu có thể).
Jeremy

Như một nỗ lực cuối cùng, tôi có thể thử nó. Điều tương tự cũng áp dụng cho các phần mềm khác mà google chỉ tay, ví dụ: gnome-Screensaver. Vấn đề là, tôi sử dụng crom khá nhiều, vì vậy việc loại bỏ nó, thậm chí tạm thời, là một đòn giáng mạnh vào thực tiễn làm việc của tôi. Những gì tôi thực sự muốn làm là chứng minh rằng nó có trách nhiệm mà không phải ngừng sử dụng nó.
jmtd

Tôi đã có cùng một lỗi (không sử dụng Lastpass) và một số lượng lớn các quy trình chrome đã gây ra cho tôi (tôi đã giúp tìm ra nguyên nhân)
dufte

0

Tôi thực hiện: lsof -Uvà tôi quan sát rất nhiều trường hợp vlc.

Để giải quyết vấn đề của tôi, tôi thực thi:

killall vlc

0

lsof -U hiển thị một số lượng lớn các trường hợp xcape.

kill xcape giải quyết vấn đề.

Bây giờ tôi có thể sử dụng rofi và tor-browser một lần nữa.


0

Đã đối mặt với cùng một vấn đề với openoffice, vì bộ nhớ (RAM),
Hãy thử tắt tất cả các thiết bị đầu cuối (bao gồm cả ứng dụng), Nếu điều đó không hoạt động Hãy thửsudo reboot now

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.