redis Background saving terminated by signal 9

1、问题现象

24163:M 10 May 2020 22:27:22.177 * Background saving started by pid 24248
24163:M 10 May 2020 22:27:22.288 # Background saving terminated by signal 9

 

 

redis 启动后,linux 内存

redis启动过程中,内存使用过程

启动成功后,内存和swap空间都用完了

redis info 内存信息

redis 日志

 

2、分析

Linux 物理内存只有3G,redis没有配置最大使用内存,而且redis持久化的数据有3G多。正常启动后,redis开始加载aof文件数据,最后正常启动。但是由于启动之前已经有部分改动数据,导致redis触发rdb持久化机制。

 

3、解决方案

3.1 建议redis的配置最大内存不要超过服务器的3/5

3.2 设置linux的内存分配策略:overcommit_memory

可选值:0、1、2。
0, 表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。
1, 表示内核允许分配所有的物理内存,而不管当前的内存状态如何。
2, 表示内核允许分配超过所有物理内存和交换空间总和的内存

 

查看值:

cat /proc/sys/vm/overcommit_memory

修改值:

有三种方式修改内核参数,但要有root权限:

 (1)编辑/etc/sysctl.conf ,改vm.overcommit_memory=1,然后sysctl -p使配置文件生效

 (2)sysctl vm.overcommit_memory=1

 (3)echo 1 > /proc/sys/vm/overcommit_memory

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值