how-to block ads
|reply to justin |
Re: maximum number of open sockets, files, threads, etc..?
said by justin:Ok, use this approach:
I know that, but 'unlimited' actually isn't. So I'm after the real upper limits determined by kernel design ...
#Maximum number of open files:
#Allocated, free allocated, and max FDs:
#Max half-open TCP:
those are current max numbers, and they can be changed.
I'm after what the real upper limits actually are.
eg, from my lkml topic it seems that max number of processes (or threads) is 65k, and potentially 128k but then /proc blows up.
So presumably 65k open files (and therefore sockets) is a hard limit everywhere.
There are interesting implications. No you would not want 40k threads, or 40k processes, but you might want 100k simultaneous open tcp conversations. It isn't clear to me why this should be so difficult if the majority of the open conversations were idle.
Yet it appears to be an impossible task. Even on a 64bit machine with a whole pile of memory.
said by justin:I'm working on a server that has just those requirements. It does appear that there's a 64K per-process open file limit, though I can't find any documentation to that effect. It's not a system-wide limit -- clients can open 64K connections into the server process from the same machine, giving 128K total open files:
you might want 100k simultaneous open tcp conversations. It isn't clear to me why this should be so difficult if the majority of the open conversations were idle.
$ cat /proc/sys/fs/file-nr
135360 0 296295
A call to getrlimit(RLIMIT_NOFILE) tells me the per-process limit is 250,000 (that's how I've configured it in /etc/security/limits.conf) but I can't seem to actually achieve that many open connections.
Have you found any information that this limit can be increased?