当前位置:首页 > 内存 > 正文

redis启动占用的内存

  • 内存
  • 2024-06-03 04:10:20
  • 5346

一、redis中的数据占用内存大小分析

rdr提供了linux/OSX/Windows下的可执行文件,点击直接下载,我将展示如何在Windows下使用它

下载后存放在d:/dev路径下

1.首先到redis服务器将rdb文件保存到本地,讲一下如何找到redisrdb文件。通过查看redis服务器配置并搜索dbfilename,可以根据路径快速定位到配置文件、备份文件redisrdb

2。端口8080


3.计数等


不过,通过网页版上报数据存在一个小问题。redis中数据库之间没有明显的区分~清晰的混合

详细使用请参考公共仓库:


二、Redis内存统计解读

客户端通过redis-cli连接到服务器后,输入infomemory命令将显示Redis系统的存储统计信息。本文重点对used_memory、used_memory_rss和mem_fragmentation_ratio这三个条目进行详细解释。欢迎大家批评、讨论。

used_memory是Redis内存分配器(如jemalloc)分配的内存总量。该内存主要用于存储Redis实际运行时产生的数据。注意,这里所说的总内存包括内存和虚拟内存。

used_memory_rss为Redis进程占用操作系统的内存,因此除了分配器分配的内存外,还包括进程本身所需的内存和内存碎片,但不包括虚拟内存记忆。
从used_memory和used_memory_rss的描述来看,很难判断哪个大哪个小。原因如下:
1.如果used_memory使用虚拟内存,如果虚拟内存使用量超过了Redis进程本身的内存大小+程序内存碎片,则used_memory值可能会大于used_memory_rss。
_memory_rss本身包括Redis系统进程占用的内存,以及程序运行产生的内存碎片。如果used_memory不占用或占用少量虚拟内存,则与上一项相反,used_memory_rss值可能大于used_memory。
两者的大小关系可以从侧面反映Redis系统的运行状况,这就引出了第三个条目mem_fragmentation_ratio。

mem_fragmentation_ratio是used_memory_rss/used_memory的比率。根据前面对used_memory_rss和used_memory含义的描述,很容易得出以下结论: