selecttest tool
Shumon Huque
shuque at isc.upenn.edu
Wed Jul 30 23:52:02 UTC 2008
On Wed, Jul 30, 2008 at 02:52:16PM -0700, JINMEI Tatuya / ?$B?@L at C#:H?(B wrote:
> I've written a small test tool to check if a given system (+
> operational environment) can support a given (normally large) number
> of sockets and whether and how the select() system call/function can
> support the given number of sockets. It might be a useful check tool
> for those who are currently suffering from 'too many files' kind of
> problems with the P1 versions but cannot move to a beta and plan to
> try and deploy P2.
>
> The test tool is available at
> http://www.jinmei.org/selecttest.tgz
I'd suggest adding code in the beginning to raise RLIMIT_NOFILE
to the processes hardlimit, eg.:
struct rlimit rlim;
if (getrlimit (RLIMIT_NOFILE, &rlim) == -1) {
perror("getrlimit");
return 1;
}
if (rlim.rlim_cur < rlim.rlim_max)
rlim.rlim_cur = rlim.rlim_max;
if (setrlimit (RLIMIT_NOFILE, &rlim) == -1) {
perror("setrlimit");
return 1;
}
On a vanilla Solaris 10 system, the soft limit for open files
is only 256, so your test will fail pretty early, whereas the
hardlimit is 65536.
--Shumon.
More information about the bind-users
mailing list