[RFC] Increase default ulimit nofile

Lennart Poettering mzerqung at 0pointer.de
Thu May 21 13:14:19 UTC 2009


On Thu, 21.05.09 01:49, Jon Masters (jonathan at jonmasters.org) wrote:

Heya!

> I like podcasts. A lot. I also like rhythmbox (mostly). I've been
> wondering recently why I would occasionally not be able to download
> podcasts in rhythmbox. It seemed to be related to when I was connected
> to a particular VPN and so I had dismissed it as being network DNSness
> weirdness. But then it started happening much more often. Tonight, I
> decided it was probably more than occasional network weirdness.
> 
> So I decided "I'll just fire up gdb on rhythmbox". Many debuginfo
> packages, cscopes, hacked up source, etc. later on, I discover the
> "problem" is in abstraction layer number 2 - totem-pl-parser. So I
> download the source to this package also, rebuild and hack it up. I
> eventually discovered that various GError objects were happily telling
> me that the maximum number of open files had been exceeded, but totem
> never exposes this to rhythmbox, and the latter just has no idea what
> the heck is causing it to fail. Some serious fail happening there.

I am pretty sure this is an fd leak somewhere in totem. Normally a
gnome process should need not more than 50, maybe 100 fds. In fact, if
I do the following line in my GNOME session (which has been running
since a week or so and is running all kinds of processes, including
Firefox with two windows and 20 tabs, and so on):

for a in /proc/*/fd/ ; do ls $a 2> /dev/null | wc -l ; done | sort -n

Then the biggest number I get is 78 (firefox) -- with the exception of
a BitTorrent client, that is at 250 -- probably rightfully so.

Before you ask for a higher resource limit, file a bug and find out if
this isn't a simple leak that needs to be fixed.

Lennart

-- 
Lennart Poettering                        Red Hat, Inc.
lennart [at] poettering [dot] net
http://0pointer.net/lennart/           GnuPG 0x1A015CC4




More information about the fedora-devel-list mailing list