Redis err max number of clients reached 解决办法

来源:互联网 发布:ubuntu14更新软件源 编辑:程序博客网 时间:2024/06/07 02:25

在使用redis的过程中碰到了err max number of clients reached的异常。
从字面上来看就是连接的客户端达到了上限,但是通过google发现,redis配置文件中默认最大的连接数是没有限制的,看了很多的文章,最终通过修改系统的最大文件描述符解决办法。


这里可以查看下系统的最大文件描述符再来修改:

1、查看redis的PID

# ps -ef|grep redisroot     23427 21683  0 19:08 pts/0    00:00:00 grep redisroot     31886     1  0 11:30 ?        00:00:00 /usr/local/bin/redis-server /data/redis/6379/redis6379.conf

2、查看redis进程的文件描述符最大值

# cat /proc/31886/limits Limit                     Soft Limit           Hard Limit           Units     Max cpu time              unlimited            unlimited            seconds   Max file size             unlimited            unlimited            bytes     Max data size             unlimited            unlimited            bytes     Max stack size            10485760             unlimited            bytes     Max core file size        0                    unlimited            bytes     Max resident set          unlimited            unlimited            bytes     Max processes             65535                65535                processes Max open files            65535                65535                files     Max locked memory         32768                32768                bytes     Max address space         unlimited            unlimited            bytes     Max file locks            unlimited            unlimited            locks     Max pending signals       35840                35840                signals   Max msgqueue size         819200               819200               bytes     Max nice priority         0                    0                    Max realtime priority     0                    0    

Max open files这里显示的是65535,是我修改之后的数值,原来的是4021,用来做数据的缓存有点小。


下面是修改的过程:

首先修改 /etc/security/limits.conf 文件,在文件最后面添加下面4行。
表示root用户和其余非root用户打开的文件描述符的限制都是65535。

root soft nofile 65535root hard nofile 65535* soft nofile 65535* hard nofile 65535

在redhat系列下可能设置了这个然后重启机器或者重新登陆就有用了,但是ubuntu下不行。还要设置另外两个配置文件。

修改/etc/pam.d/su 和 /etc/pam.d/sudo,两个文件都添加下面一行

session    required   pam_limits.so

设置完成后就重新启动一下机器吧。

再次通过查看proc下面的进程信息,发现设置生效了。

阅读全文
0 0
原创粉丝点击