首页 > 其他 > 详细

Redis内存模型(1):内存统计

时间:2019-02-21 17:15:09      阅读:254      评论:0      收藏:0      [点我收藏+]

查看命令:info memory
示例:
技术分享图片

部分含义

  • used_memory
    Redis分配器分配的内存总量(单位是字节),包括使用的虚拟内存。
  • 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,如截图。

Redis内存模型(1):内存统计

原文:https://www.cnblogs.com/rosa-king/p/10413597.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!