天天看点

Redis开发运维实践问题处理只内存检查8.3.1 系统内存查看8.3.2 系统swap内存查看8.3.3 info查看内存8.3.4 dump.rdb文件成生内存报告(rdb-tool)8.3.5 query在线分析8.3.6 内存抽样分析8.3.7 统计生产上比较大的key8.3.8 查看key内部结构和编码等信息8.3.9 Rss增加,内存碎片增加

script/下的memstat.sh或者ps_mem.py都可以查看系统的内存情况,两个工具都需要root权限。

used_memory:859192数据结构的空间 used_memory_rss:7634944实占空间 mem_fragmentation_ratio:8.89前2者的比例,1.n为佳,如果此值过大,说明redis的内存的碎片化严重,可以导出再导入一次.

对redis中的key进行采样,寻找较大的keys。是用的是scan方式,不用担心会阻塞redis很长时间不能处理其他的请求。执行的结果可以用于分析redis的内存的只用状态,每种类型key的平均大小。

查看一个key内部信息,比如refcount、encoding、serializedlength等,结果如下 value at:0x7f21b9479850 refcount:1 encoding:raw serializedlength:6 lru:8462202 lru_seconds_idle:215

此时可以选择时间进行redis服务器的重新启动,并且注意在rss突然降低观察是否swap被使用,以确定并非是因为swap而导致的rss降低。

<b></b>

<b>redis开发运维实践指南</b>

本文为《redis开发运维实践指南》内容,该书作者为黄鹏程,已授权云栖社区转载。

继续阅读