Re: More than 1M open file descriptors

From: Felipe Balbi
Date: Wed May 19 2010 - 11:38:38 EST


On Wed, May 19, 2010 at 04:52:56PM +0200, ext John Masinter wrote:
I'm a software engineer and work with a fortune-500 company. We have a
line of linux-powered network security appliances and I am responsible
for Linux / OS development.
Our multi-core appliance handles a large number of low-bandwith tcp
connections, and after years of performance streamlining, we have hit
the kernel's million tcp connection limit.
Is there a kernel hack to increase the file descriptor limit beyond 1M
to that we may have more than 1M open tcp connections? If this is
discussed elsewhere, please point me in the right direction. Many
thanks to everyone that contributes to open source.

look into fs/file.c
increasing sysctl_nr_open like below should help:

diff --git a/fs/file.c b/fs/file.c
index 87e1290..23c83df 100644
--- a/fs/file.c
+++ b/fs/file.c
@@ -27,9 +27,9 @@ struct fdtable_defer {
struct fdtable *next;
};
-int sysctl_nr_open __read_mostly = 1024*1024;
+int sysctl_nr_open __read_mostly = 4*1024*1024;
int sysctl_nr_open_min = BITS_PER_LONG;
-int sysctl_nr_open_max = 1024 * 1024; /* raised later */
+int sysctl_nr_open_max = 4 * 1024 * 1024; /* raised later */
/*
* We use this list to defer free fdtables that have vmalloced

you can also do it via /proc AFAICT.

--
balbi

DefectiveByDesign.org
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/