Redis too many open files error

最近公司的API总是莫名其妙的报告一些redis 打开文件太多的错误。今天老板终于下定决心,必须解决这个bug。经过测试,问题终于出现了。

原因是因为在linux下面ulimit命令限制了可以打开文件描述符的最大数量。默认是1024.而redis的最大连接数maxclients却远远大于这个数量。

这样问题就出现了,比如redis的连接是10000,那么是否redis就真的能够接受10000的连接呢?答案是不是的。redis还受到系统的一些限制。比如ulimit。

最后通过ulimit命令更改了打开描述符的数量。问题解决了。比如:

ulimit -n 10000

注意:报告这个错误,并不是redis的maxclients的问题。如果是连接不够用,不会报告这个错误。

ulimit命令的用法:可以查看这个网址,写的不错。很详细。

http://www.ibm.com/developerworks/cn/linux/l-cn-ulimit/

发表评论

电子邮件地址不会被公开。

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>