查看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失敗。