redis Can’t save in background: fork: Cannot allocate memory 解决方法

由于用户登录失败,检查redis日志发现:redis Can’t save in background: fork: Cannot allocate memory

解决方法:https://blog.csdn.net/xianjuke008/article/details/106218558

原因分析

  1. 由于每次保存 RDB 的时候,Redis 都要 fork() 出一个子进程,并由子进程来进行实际的持久化工作。所以当redis进程内存过大时候,将无法分配内存
  2. stop-writes-on-bgsave-error :默认值为yes。当启用了RDB且最后一次后台保存数据失败,Redis是否停止接收数据。所以修改参数
    stop-writes-on-bgsave-error false,也可以暂时解决问题,但是这样只是当redis写硬盘快照出错时,可以让用户继续做更新操作,但是写硬盘仍然是失败的;
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 从这篇文章开始,将依次介绍Redis高可用相关的知识——持久化、复制(及读写分离)、哨兵、以及集群。 本文将先说明...
    不变甄心阅读 710评论 0 4
  • 一、Redis高可用概述 在介绍Redis高可用之前,先说明一下在Redis的语境中高可用的含义。 我们知道,在w...
    Java架构_师阅读 410评论 0 2
  • 一、Redis高可用概述 在介绍Redis高可用之前,先说明一下在Redis的语境中高可用的含义。 我们知道,在w...
    空语阅读 1,612评论 0 2
  • 一、Redis高可用概述 在介绍Redis高可用之前,先说明一下在Redis的语境中高可用的含义。 我们知道,在w...
    java架构源阅读 193评论 0 0
  • 前言: Redis之所以速度这么快,是因为Redis是基于内存的数据库,进行读写操作时,redis都会现在内存中完...
    superxcp阅读 8,237评论 1 8