Opened 10 years ago

Closed 10 years ago

#4311 closed Bug (invalid)

open file limit 1024

Reported by: emptyset Owned by:
Priority: Normal Milestone: None Set
Component: Transmission Version: 2.31
Severity: Normal Keywords:
Cc:

Description

After upgrading to 2.31, I had a variety of major problems including crashes, 100% cpu hangs, very bad seeding performance, and files getting lost when moved. In order for it to run at all, I had to reduce the peer limit, file limit and/or cache size.

Before downgrading to 2.22, I noticed what I think is the cause of all of it, as I have seen similar issues on various clients in the past. Many 'open file limit' errors in the log.

The open file limit, as found in /proc/[pid]/limits, for 2.31 daemons only, is '1024', rather than the higher limit of the system/invoking shell.

Change History (4)

comment:1 Changed 10 years ago by emptyset

This is on Ubuntu 11.04 AMD64 transmission-ppa build.

comment:2 Changed 10 years ago by Username

very bad seeding performance,

Try to disable uTP support. It's current implementation is very bad - experiments shown that disabling it improves speed very well. In my config, uTP never able to exceed ~50kbytes/sec per peer while TCP can easily exceed 400kbytes/sec.

comment:3 Changed 10 years ago by x190

FWIW, Mac Client initializes at 1024 but can increase that number, notably when DHT is initialized. Intel Mac 10.6.7

2011-06-08 10:10:38 -0600 fdlimit.c:797 [Debug] Transmission: setrlimit( RLIMIT_NOFILE, 1024 )

2011-06-08 23:09:17 -0600 tr-dht.c:330 [Debug] DHT: DHT initialized
2011-06-08 23:09:19 -0600 fdlimit.c:797 [Debug] Transmission: setrlimit( RLIMIT_NOFILE, 3328 )

2011-06-09 02:30:16 -0600 tr-dht.c:276 [Debug] DHT: Initializing DHT
2011-06-09 02:30:19 -0600 fdlimit.c:797 [Debug] Transmission: setrlimit( RLIMIT_NOFILE, 7936 )

comment:4 Changed 10 years ago by jordan

  • Resolution set to invalid
  • Status changed from new to closed

It's intentional that the open file limit is bounded by FD_SETSIZE. This is necessary to prevent memory corruption errors in libcurl, see #4164 for more information.

Actually I'm wondering if the open-file-limit configuration setting is worth keeping around anymore. Perhaps libtransmission should automatically set it to the maximum allowed by FD_SETSIZE.

Note: See TracTickets for help on using tickets.