BIND: Max open files (1024) is smaller than max sockets (4096) Error and Solution

by Vivek Gite on May 1, 2009 · 9 comments

While going though my logs I found that BIND9 on Debian version 5.x is giving a warning which read as follows:

max open files (1024) is smaller than max sockets (4096)

How do I fix this problem?

The "open files is smaller than max sockets" problem is kernel bug which is already fixed in 2.6.28. Linux kernel returns EPERM when RLIMIT_NOFILE is set to RLIM_INFINITY. To fix this issue update your Linux kernel using yum or apt-get command.
# yum update
OR
# apt-get update
# apt-get upgrade

Reboot the server. Verify error is not reported after boot:
# tail -f /var/log/messages

See kernel bug # 461458 and 515673 for more information.

Featured Articles:

Share this with other sys admins!
Facebook it - Tweet it - Print it -

{ 9 comments… read them below or add one }

1 Bram May 1, 2009

Soultion? ;-)

Reply

2 Vivek Gite May 1, 2009

Thanks for the heads up.

Reply

3 avarkin May 19, 2009

how to fix on debian lenny 5.0 ( 2.6.26-2-686):

# vim /etc/default/bind9

add “-S 1024″ to “OPTIONS” line:

# run resolvconf?
RESOLVCONF=yes
# startup options for the server
OPTIONS="-u bind -S 1024"

restart bind:
# /etc/init.d/bind9 restart

check for errors:
# cat /var/log/syslog

Reply

4 avarkin May 19, 2009

ooops :)

# vim /etc/default/bind9

add “-S 1024″ to “OPTIONS” line:

# run resolvconf?
RESOLVCONF=yes

# startup options for the server
OPTIONS="-u bind -S 1024"

Reply

5 indexofire June 3, 2009

how to fix the error in freebsd?

Reply

6 xone June 16, 2009

sysctl kern.maxfilesperproc=4096

Reply

7 Chris December 3, 2009

There’s another way of fixing it on Linux:

At the beginning of the “start” section of /etc/init.d/bind9 add i.e.:

ulimit -HSn 8192

so you have some extra, spare file descriptors for the whole process,
and then restart the bind using:

# /etc/init.d/bind9 restart

and voila, log reads:

[...]
named[19060]: using up to 4096 sockets
[...]

Reply

8 JN January 5, 2010

The preceding “ulimit -HSn 8192″ command might better go in /etc/default/bind9 on debian to keep package updates (ie. changed config files) a little smoother.

Reply

9 ben May 10, 2011

If you are using Centos or redhat, edit /etc/sysconfig/named and at the bottom, at,

OPTIONS=”-4 -S 1024″

It think the author’s claim of upgrading the kernel it’s false and can be dangers. I got a vmware application runnning on the host, upgrading the kernel can simply break it

Reply

Leave a Comment

You can use these HTML tags and attributes for your code and commands: <strong> <em> <ol> <li> <u> <ul> <blockquote> <pre> <a href="" title="">
What is 15 + 11 ?
Please leave these two fields as-is:
Solve the simple math so we know that you are a human and not a bot.




Previous post:

Next post: