环境配置信息:
Redhat7/Redis 4.0.10
需求描述:
zabbix频繁报“memory usage is too high”,通过内存使用性能曲线图发现每个实例内存实际使用基本在6.2G左右。当前maxmemory值为8000000000
问题分析:
这跟参数值maxmemory设置偏小或设置键值的时候没有指定效期有关。
解决方案及过程:
1、更改Redis参数值maxmemory为10000000000
#su - redis
$. profile 6423
$redis-cli -p 6523 -a XXXXXX
127.0.0.1:6523>config get maxmemory
127.0.0.1:6523>config set maxmemory “10000000000”
127.0.0.1:6523>config get maxmemory
127.0.0.1:6523>set aaa 000
127.0.0.1:6523>get aaa
127.0.0.1:6523>del aaa
#su - redis
$. profile 6424
$redis-cli -p 6524 -a XXXXXX
127.0.0.1:6524>config get maxmemory
127.0.0.1:6524>config set maxmemory “10000000000”
127.0.0.1:6524>config get maxmemory
127.0.0.1:6524>set aaa 000
127.0.0.1:6524>get aaa
127.0.0.1:6524>del aaa
#su - redis
$. profile 6425
$redis-cli -p 6525 -a XXXXXX
127.0.0.1:6525>config get maxmemory
127.0.0.1:6525>config set maxmemory “10000000000”
127.0.0.1:6525>config get maxmemory
127.0.0.1:6525>set aaa 000
127.0.0.1:6525>get aaa
127.0.0.1:6525>del aaa
#su - redis
$. profile 6425
$redis-cli -p 6522 -a XXXXXX
127.0.0.1:6522>config get maxmemory
127.0.0.1:6522>config set maxmemory “10000000000”
127.0.0.1:6522>config get maxmemory
127.0.0.1:6522>set aaa 000
127.0.0.1:6522>get aaa
127.0.0.1:6522>del aaa
#su - redis
$. profile 6425
$redis-cli -p 6526 -a XXXXXX
127.0.0.1:6526>config get maxmemory
127.0.0.1:6526>config set maxmemory “10000000000”
127.0.0.1:6526>config get maxmemory
127.0.0.1:6526>set aaa 000
127.0.0.1:6526>get aaa
127.0.0.1:6526>del aaa
2、更改Redis配置文件中的maxmemory为10000000000
#su - redis
cd /paic/rd6524/conf
vi redis.conf
maxmemory 10000000000
#su - redis
cd /paic/rd6525/conf
vi redis.conf
maxmemory 10000000000
#su - redis
cd /paic/rd6526/conf
vi redis.conf
maxmemory 10000000000
#su - redis
cd /paic/rd6522/conf
vi redis.conf
maxmemory 10000000000
3、跟开发或业务确认是否在设置键值的时候没有指定效期