zoukankan      html  css  js  c++  java
  • 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失败。
  • 相关阅读:
    运算符的方向--好神奇
    a++ 和 ++a ;
    c语言中!和~的区别
    函数的参数,参数为数组
    反射的理解
    ThreadLocal类
    多线程面试题-sleep()和wait()区别
    话题1-关键字
    实现多线程的另一种方式-Callable
    线程池
  • 原文地址:https://www.cnblogs.com/jiaqili/p/14247033.html
Copyright © 2011-2022 走看看