我在服务器上运行了一个redis实例,后来使用了一段时间发现redis连接不上去,6379端口也关闭了,看了log都是一连串的aof和rdb记录,最后一行也是说rdb成功退出。请问各位redis前辈知道有哪些原因会导致redis端口被终止实例停止运行呢?之前搭建集群也有节点会莫名其妙宕掉,找Log也查不出名堂,跪求经验指点,谢谢!
认证0级讲师
2.8版本貌似以后就redis就不支持vm-enabled选项了,原因我估计作者出于性能考虑。随着数据量的增加就会报出内存不足,无法写入,甚至服务器宕机
特别注意你在坐持久化策略的时候。比如20G的内存,问题来了,当你对redis插入数据后,redis会异步将数据dump到硬盘中想起来很完美,问题是它会fork一个进程,并占去同样大小的内存,你需要的内存瞬间便为 20G+20G =40G
不知道你的业务量是不是很大.
另外你的业务逻辑在缓存上是否存在内存泄漏的情况(常驻缓存)。建议可以写个脚本监控下服务器内存的使用情况。有时候单看redis的log很难查出问题。
希望我的建议能帮到你
2.8版本貌似以后就redis就不支持vm-enabled选项了,原因我估计作者出于性能考虑。随着数据量的增加就会报出内存不足,无法写入,甚至服务器宕机
特别注意你在坐持久化策略的时候。
比如20G的内存,问题来了,当你对redis插入数据后,redis会异步将数据dump到硬盘中
想起来很完美,问题是它会fork一个进程,并占去同样大小的内存,
你需要的内存瞬间便为 20G+20G =40G
不知道你的业务量是不是很大.
另外你的业务逻辑在缓存上是否存在内存泄漏的情况(常驻缓存)。
建议可以写个脚本监控下服务器内存的使用情况。有时候
单看redis的log很难查出问题。
希望我的建议能帮到你