redis运行一段时间之后假死
现象:redis运行一段时间之后就会出现假死的现象
- 假死指的是:进程在、pid在、telnet 端口是通的、redis-cli命令可以连接,但无法查询数据,查询的时候报错,如下图:
- 可以看到这个报错是有关权限的,但可以确认该redis并没有设置密码,况且已经运行了一段时间之后,突然开始不正常的
尝试解决:
- 观察redis的运行日志发现在重启redis的时候会有warning,如下图
- 因为没有报错所有先解决warning,然后经过各种尝试,得解决方案如下:
1. 修改内核参数,3种方法,任选其一:
1)编辑/etc/sysctl.conf ,改vm.overcommit_memory=1,然后sysctl -p 使配置文件生效
2)sysctl vm.overcommit_memory=1
3)echo 1 > /proc/sys/vm/overcommit_memory
2. 修改redis.conf,然后重启redis
maxmemory 3G
maxmemory-policy allkeys-lru
maxmemory-samples 3
以上是 redis运行一段时间之后假死 的全部内容, 来源链接: utcz.com/z/531722.html