查看命令:info memory
示例:
used_memory_rss:
Redis进程占据操作系统的内存(单位是字节);除了分配器分配的内存之外,used_memory_rss还包括进程运行本身需要的内存、内存碎片等,但是不包括虚拟内存。
used_memory是从Redis角度得到的量,used_memory_rss是从操作系统角度得到的量。二者之所以有所不同,一方面是因为内存碎片和Redis进程运行需要占用内存,使得used_memory_rss可能更大;另一方面虚拟内存的存在,使得used_memory可能更大。
mem_fragmentation_ratio:
内存碎片比率,该值是used_memory_rss / used_memory;
一般大于1,且该值越大,内存碎片比例越大。而小于1,说明Redis使用了虚拟内存,由于虚拟内存的媒介是磁盘,比内存速度要慢很多,当这种情况出现时,应该及时排查,如果内存不足应该及时处理,如增加Redis节点、增加Redis服务器的内存、优化应用等;
一般来说,mem_fragmentation_ratio在1.03左右是比较健康的状态(对于jemalloc来说)。
由于在实际应用中,Redis的数据量会比较大,此时进程运行占用的内存与Redis数据量和内存碎片相比,都会小得多,mem_fragmentation_ratio便成了衡量Redis内存碎片率的参数。
mem_allocator:
Redis使用的内存分配器,在编译时指定;可以是 libc 、jemalloc或者tcmalloc,默认是jemalloc,如截图。
原文:https://www.cnblogs.com/rosa-king/p/10413597.html