目录
2.1:我们通过命令行 INFO MEMORY查看redis中内存使用情况
2.2:通过MEMORY MALLOC-STATS 再次验证
2.2:通过配置(配置文件中设置activedefrag yes),系统自动处理
序言:
内存碎片是redis服务中分配器分配存储对象内存的时产生的。随着服务的运行,内存碎片也会随之越来越多,如果不进行处理导致内存资源的浪费。如果在内存资源紧张的服务器中出现大量内存碎片会导致OOM溢出与swap交换。
1:Redis中提供了哪些关于内存有关的命令(4.0之后)
1.1:MEMOEY DOCTOR
会列出 Redis 服务器遇到的不同类型的内存相关问题,并提供相应的解决建议
1.2:MEMOEY MALLOC-STATS
MEMORY MALLOC-STATS 命令提供内存分配情况的内部统计报表,(目前只支持jemalloc内存分配器)。通过该命令可以看出jemalloc对于所有对象进行分配时,各具体分区的内存详细状况。
1.3:MEMOEY PURGE
支持该命令会清除内存碎片
1.4:MEMOEY STATS
将服务器的内存使用情况以数组情况返回
1.5:MEMOEY USAGE
该命令给出一个key和它值在RAM中占用的字节数(包含redis管理该key是占用的内存数)
如上图所示,即时key value为空,也占用了46b的内存资源。
1.6:MEMOEY HELP
提示上述5种命令的作用以及使用情况