redis频繁报错Cannot allocate memory

查看redis日志:

发现频繁报下面错误

1285:M 07 Jan 15:10:51.405 * Starting automatic rewriting of AOF on 8959% growth
1285:M 07 Jan 15:10:51.405 # Can't rewrite append only file in background: fork: Cannot allocate memory
1285:M 07 Jan 15:10:51.506 * Starting automatic rewriting of AOF on 8959% growth
1285:M 07 Jan 15:10:51.506 # Can't rewrite append only file in background: fork: Cannot allocate memory
1285:M 07 Jan 15:10:51.606 * Starting automatic rewriting of AOF on 8959% growth
1285:M 07 Jan 15:10:51.607 # Can't rewrite append only file in background: fork: Cannot allocate memory
1285:M 07 Jan 15:10:51.708 * Starting automatic rewriting of AOF on 8959% growth
1285:M 07 Jan 15:10:51.708 # Can't rewrite append only file in background: fork: Cannot allocate memory
1285:M 07 Jan 15:10:51.809 * Starting automatic rewriting of AOF on 8959% growth
1285:M 07 Jan 15:10:51.809 # Can't rewrite append only file in background: fork: Cannot allocate memory
1285:M 07 Jan 15:10:51.909 * Starting automatic rewriting of AOF on 8959% growth
1285:M 07 Jan 15:10:51.909 # Can't rewrite append only file in background: fork: Cannot allocate memory

  • 直接修改内核参数 vm.overcommit_memory = 1
  • Redis建议把这个值设置为1, 是为了让fork操作能够在低内存下也执行成功
  • Redis设置合理的maxmemory, 保证机器有20%~30%的闲置内存。
  • 集中化管理AOF重写和RDB的bgsave。·设置vm.overcommit_memory=1, 防止极端情况下会造成fork失败。
posted @ 2021-01-07 16:35  李家琦  阅读(1202)  评论(0编辑  收藏  举报