[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <1288850316.5575.1.camel@zhongjiu>
Date: Thu, 04 Nov 2010 13:58:36 +0800
From: springzhong <davidmahorse@...il.com>
To: linux-kernel@...r.kernel.org
Subject: out of memory error from kernel when I open hundred of thousands
of TCP connections
The source of serve is like:
ListeningThread listeningThread(this, nPortNum);
listeningThread.nPortNum=6475;
listeningThread.Start();
ListeningThread listeningThread2(this, 6476);
listeningThread2.nPortNum=6476;
listeningThread2.Start();
ListeningThread listeningThread3(this, 6477);
listeningThread3.nPortNum=6477;
listeningThread3.Start();
ListeningThread listeningThread4(this, 6477);
listeningThread4.nPortNum=6478;
listeningThread4.Start();
The source of client is like:
for (int i = 0; i < 60000; i++)
{
this->Connect("127.0.0.1", nPortNum, false, pClientSocket);
this->Connect("127.0.0.1", 6476, false, pClientSocket);
this->Connect("127.0.0.1", 6477, false, pClientSocket);
this->Connect("127.0.0.1", 6478, false, pClientSocket);
}
I want to test the maximum tcp connections of linux in my netbook with
2G memeory.
But I just found It cannot exceed 240000 connections.Then an
"out of memory error" occured. But it looks like there is still a lot of
free memory in my computer.
I want to rechange the kernel to accept more TCP connections like one
million tcp connections in my network.
But I find there are too many source codes in it.
Could you give me any suggestions?
I have changed my environment like this with epoll:
/etc/security/limits.conf
* soft nofile 802400
* hard nofile 802400
# End of file
cat /proc/sys/fs/file-max
2204218
cat /etc/sysctl.conf
net.ipv4.ip_local_port_range = 1024 65000
cat /proc/sys/fs/epoll/max_user_watches
2500873
It is not the limitation of file ids of linux.It is an error from kernel
of LINUX
spring zhong
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists