2013/8/24 Andrew Sackville-West <[email protected]>
> not releasing resources it's not using anymore
Which resources other than connections (and why do you suspect it would be
something else than connections if the error message explicitely mention
number of clients is the culprit)?
There's one subsystem that's a pain re non-released resources, SysV IPC, but
# ipcs |grep ^0x |wc -l
42
that's hardly the problem here.
xwininfo -root -children
$ xwininfo -root -children|grep children
549 children:
Well now I wonder how that's possible considering that every X client needs
a connection to the server which is an fd that would show up in proc?
> Here[3] is an example of the kind of thing that can go wrong...
That just looks like one of the dozen (hundreds?) of mentions of some
particular app that "causes" it. To me it looks just like people kill some
program that may well have multiple connections open, but why would it
matter? They were just close to the limit anyway. They might even have run
into the limit again later on but not reported it back.
Since I don't see any kind of problem like slowdowns in X, why would it
limit me? I really think I just want to increase the limit. Please let me
do that, X developers (if you read that). I'd even beg you to mention in
the error message (given by the X client library, I guess) to state how to
increase the limit, so that people can avoid having to write bug reports
everywhere.
> Or you've got a whole lotta windows open ;)
Not really that many. Normal workflow, and I'm pretty good at closing
unused windows. I've now closed about 20 windows to make space for new
ones, and that's about as far as I could get without closing stuff I'm
still working on. I'm counting about 200-210 windows in the Xfce window
list. And they all fit into my 4G of RAM and 3G of swap on an SSD just
fine. I guess the limit is outdated for today's powerful machines.
> xrestop
Runs about 30-60 seconds taking up 20%, and Xorg 100%, until it gives a
result (i.e. to return when using the --batch option, or just runs forever
using up 100%+ cpu). Odd? (iotop does not report any activity, thus it's
not swapping.) (I'm on a dual core system, which can be rather slow when
communicating across cores (i.e. Xorg running on one core eating all of it,
xrestop on the other core), but still. Some O(n^2) algorithm I guess.)
xrestop - Display: localhost
Monitoring 210 clients. XErrors: 1
Pixmaps: 79524K total, Other: 870K total, All: 80394K
total
res-base Wins GCs Fnts Pxms Misc Pxm mem Other Total PID Identifier
1000000 3306 30 1 1321 2433 28706K 136K 28842K 3492 xfwm4
dc00000 69 63 1 269 474 8905K 15K 8920K 17253 Chromium
5e00000 167 61 1 478 699 8217K 22K 8240K 5428 Chromium
..
> Apparently debian is patched[1] to allow 512 clients.
# apt-get install xserver-xorg-dev
$ cat /usr/include/xorg/misc.h | grep MAXCLIENTS
#define MAXCLIENTS 256
Nope.
> that the 256 value is just a coincidence.
Nah :)
Alright, time to rebuild Xorg I guess.
Thanks.
Christian.