Redis5.0优化-内存使用统计报告优化

Redis的used_memory_peak_perc和used_memory_dataset_perc超过90%会怎么样 指标健康范围超过90%的风险场景<80%内存交换、持久化失败、OOM70%~90%写入拒绝、缓冲区溢出、碎片化加剧若需进一步诊断,可通过命令获取详细数据,并结合分析大Key分布。长期高内存占用建议升级实例规格或优化业务逻辑。 阅读详情

Redis5.0优化点中有内存使用统计报告的优化,下面分别在Redis4的版本和Redis5的版本中分别使用info memory命令来查看返回结果,进行对比。

  • Redis4.0.14 INFO MEMORY结果

    [root@redis-7-105 conf]# redis-cli -p 7008 info memory
    # Memory
    used_memory:14835120
    used_memory_human:14.15M
    used_memory_rss:24780800
    used_memory_rss_human:23.63M
    used_memory_peak:14884304
    used_memory_peak_human:14.19M
    used_memory_peak_perc:99.67%
    used_memory_overhead:1941912
    used_memory_startup:786640
    used_memory_dataset:12893208
    used_memory_dataset_perc:91.78%
    total_system_memory:1019572224
    total_system_memory_human:972.34M
    used_memory_lua:37888
    used_memory_lua_human:37.00K
    maxmemory:0
    maxmemory_human:0B
    maxmemory_policy:noeviction
    mem_fragmentation_ratio:1.67
    mem_allocator:jemalloc-4.0.3
    active_defrag_running:0
    lazyfree_pending_objects:0
    
  • Redis5.0.9 INFO MEMORY结果

    [root@reids-7-104 data]# redis-cli -p 7007 info memory
    # Memory
    used_memory:13771704
    used_memory_human:13.13M
    used_memory_rss:27258880
    used_memory_rss_human:26.00M
    used_memory_peak:13812512
    used_memory_peak_human:13.17M
    used_memory_peak_perc:99.70%
    used_memory_overhead:882422
    used_memory_startup:792456
    used_memory_dataset:12889282
    used_memory_dataset_perc:99.31%
    allocator_allocated:13982280
    allocator_active:15417344
    allocator_resident:24666112
    total_system_memory:1019572224
    total_system_memory_human:972.34M
    used_memory_lua:37888
    used_memory_lua_human:37.00K
    used_memory_scripts:0
    used_memory_scripts_human:0B
    number_of_cached_scripts:0
    maxmemory:0
    maxmemory_human:0B
    maxmemory_policy:noeviction
    allocator_frag_ratio:1.10
    allocator_frag_bytes:1435064
    allocator_rss_ratio:1.60
    allocator_rss_bytes:9248768
    rss_overhead_ratio:1.11
    rss_overhead_bytes:2592768
    mem_fragmentation_ratio:1.99
    mem_fragmentation_bytes:13549080
    mem_not_counted_for_evict:0
    mem_replication_backlog:0
    mem_clients_slaves:0
    mem_clients_normal:49694
    mem_aof_buffer:0
    mem_allocator:jemalloc-5.1.0
    active_defrag_running:0
    lazyfree_pending_objects:0
    

通过在线文本比较工具可以看到,Redis5.0.9的返回结果中,比Redis4.0.14的结果多了一些内存统计信息:

  • allocator_frag_ratio: Ratio between allocator_active and allocator_allocated. This is the true (external) fragmentation metric (not mem_fragmentation_ratio).

    allocator_frag_ratio:分配器碎片比率,即分配器活跃的内存占分配器总内存的比例。这是实际的外部碎片指标(非内存碎片率mem_fragmentation_ratio)

  • allocator_frag_bytes Delta between allocator_active and allocator_allocated. See note about mem_fragmentation_bytes.

    allocator_frag_bytes:分配器活跃的内存和分配器总内存的差值。

  • allocator_rss_ratio: Ratio between allocator_resident and allocator_active. This usually indicates pages that the allocator can and probably will soon release back to the OS.

    allocator_rss_ratio:分配器常驻内存占分配器活跃的内存的比例。这通常表示着分配器将很快释放回到操作系统的内存页。

  • allocator_rss_bytes: Delta between allocator_resident and allocator_active

    allocator_rss_bytes:分配器常驻内存和分配器活跃的内存的差值。

  • rss_overhead_ratio: Ratio between used_memory_rss (the process RSS) and allocator_resident. This includes RSS overheads that are not allocator or heap related.

    rss_overhead_ratio:进程常驻内存和分配器常驻内存的比率。这包括既非分配器和也非堆的内存开销。

  • rss_overhead_bytes: Delta between used_memory_rss (the process RSS) and allocator_resident

    rss_overhead_bytes:进程常驻内存和分配器常驻内存的差值。

  • allocator_allocated: Total bytes allocated form the allocator, including internal-fragmentation. Normally the same as used_memory.

    allocator_allocated:分配器总内存,包括内部碎片。通常与used_memory相同。

  • mem_not_counted_for_evict: Used memory that’s not counted for key eviction. This is basically transient replica and AOF buffers.

    mem_not_counted_for_evict:除去驱逐key的已用内存。这基本是临时副本和AOF缓冲区。

  • mem_clients_slaves: Memory used by replica clients - Starting Redis 7.0, replica buffers share memory with the replication backlog, so this field can show 0 when replicas don’t trigger an increase of memory usage.

    mem_clients_slaves:副本客户端使用的内存,从Redis7.0开始,副本缓冲区与副本回溯缓冲区共享内存,因此当副本不触发内存增长时,这个字段可能显示0。

  • mem_clients_normal: Memory used by normal clients

    mem_clients_normal:普通客户端使用的内存。

  • mem_aof_buffer: Transient memory used for AOF and AOF rewrite buffers

    mem_aof_buffer:用于AOF和AOF重写缓冲区的临时内存。

  • mem_replication_backlog: Memory used by replication backlog

    mem_replication_backlog:用于副本回溯缓冲区的内存。

  • mem_fragmentation_bytes: Delta between used_memory_rss and used_memory. Note that when the total fragmentation bytes is low (few megabytes), a high ratio (e.g. 1.5 and above) is not an indication of an issue.

    mem_fragmentation_bytes:分配器常驻内存used_memory_rss和分配器活跃内存used_memory的差值。当总碎片字节数低(几兆字节)但碎片率高(例如1.5以上)的情况不算问题。

STM32H750VBT6在Keil5下载失败?5步搞定Flash Download Failed Cortex-M7错误 本文针对STM32H750VBT6在Keil5中遇到的“Flash Download Failed - Cortex-M7”错误,提供了系统性的五步排查法。从硬件连接到驱动检查,再到核心的Flash算法配置、链接脚本核对,以及芯片保护状态等深度排查,帮助开发者快速定位并解决下载失败问题,尤其适用于处理内部Flash与外部QSPI Flash的混合应用场景。 阅读详情

相关推荐

深入解析LVDS电平标准在LCD屏接口设计中的关键作用

本文深入解析了LVDS电平标准在LCD屏接口设计中的核心作用。文章不仅阐释了LVDS低电压差分信号的工作原理、关键电气参数及抗噪优势,还详细对比了VESA与JEIDA两种主流数据格式,并提供了从PCB布局布线到信号调试的实战避坑指南,是确保高速、稳定显示的关键技术参考。

weixin_28419039的博客 335

Redis Cluster 踩坑案例之内存占用飙升

一、现象 Redis Cluster 某个分片(10.20.2.53:7101)内存飙升,明显比其它高跟多,而且持续增长并达到了峰值。并且主从的内存使用量不一致。 IP 监听端口 主/从 实例状态 内存使用 对象数 连接数 命中率 10.20.0.40 7101 master 运行中 393.08M(Used) / 18.63G(Total) 515897 10 82.8% 10.20.0.41 7102

SHOWufei 4818

Windows Server下OnlyOffice Workspace社区版安装避坑指南(含局域网邮箱配置)

本文详细介绍了在Windows Server环境下部署OnlyOffice Workspace社区版的完整流程,特别针对企业内网环境中的邮箱配置和端口冲突等常见问题提供了实用解决方案。通过硬件资源配置建议、软件环境检查清单以及内网邮箱系统搭建方案对比,帮助用户高效搭建企业级协作平台,实现团队协作的无缝对接。

weixin_29231263的博客 449

深入理解 Redis INFO 命令参数:监控服务器性能的必备工具

在 Redis 中,INFO 命令提供了大量的系统信息和统计数据,这些信息和数据可以帮助我们更好地了解 Redis 服务器的状态和性能表现,从而更好地优化 Redis 应用程序。在实际的开发和运维过程中,我们可以通过不同的 Redis 客户端(如 Java 客户端、Spring Boot 客户端等)来调用 INFO 命令,从而获取 Redis 服务器的信息和统计数据。同时,我们也可以通过第三方监控工具来实时监控 Redis 服务器的状态和性能表现,以保障 Redis 应用程序的可靠性和高可用性。

蜗牛的博客 6299

基于FLUENT的圆柱绕流数值模拟与流场优化策略

本文详细介绍了基于FLUENT的圆柱绕流数值模拟方法与流场优化策略。从基础概念、建模技巧到湍流模型选择,全面解析了圆柱绕流模拟的关键技术,并提供了实用的网格划分和参数设置建议。通过具体案例展示了流动控制方法和优化流程,帮助工程师有效降低阻力系数,提升流场性能。

f6g7h8i9j的博客 706

更新3ds时和用读卡器读取传输文件操作不当导致的tf卡损坏无法读取需要格式化时出现的问题以及不想丢失文件并且修复的详细解决方法

前言: 不小心按了同意更新而且tf/sd卡损坏导致了3ds打开后都是出现 Anerror has occurred:(红色的) Failed to apply 1 FIRM patch(es). Press any button to shotdown 这样的画面,按了任意键后就关机,我找了很多资料和大佬的回答解决了这些问题,现在记录一下。 一.不小心按了更新导致上述的画面 原因:是因为系统升级了,但是里面的Luma3DS还没有更新,属于是更新了但没有完全更新的状态。 **修复方法** 1.首先请按

give_me_fish的博客 1万+

redis内存字段说明

Memory used_memory:87795176 # Redis分配的内存总量(byte),包含redis进程内部的开销和数据占用的内存 used_memory_human:83.73M # Redis分配的内存总量(mb) used_memory_rss:222318592 # 向操作系统申请的内存大小(byte) used_memory_rss_human:212.02M # 向操作系统申请的内存大小(mb) us

weixin_38770022的博客 2191

C8T6和ZET6选型更换过程中出现.\Obj\Project.sct(7): error: L6235E: More than one section matches selector - cann

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、问题原因二、解决方法三、现象总结 前言 又一件离谱的事情发生了,我之前转换过程中没有发生的错误,今天拿出来程序重新编译了一下,结果他奶奶滴一个新的错误出现了,而且我还完全不知道是什么原因导致的,先上图: 一、问题原因 之前我已经尝试过更换芯片选型,但是没有出现此类问题,今天更改的时候发现了,我还以为是个偶然错误,结果换来换去,还是有这个问题,那我之前说c8t6的程序更改成zet6上跑只需改芯片选型和宏定义岂不是啪啪打.

wx18045623090的博客 1490

redis的性能管理

-------

qq_61843057的博客 461

如何用Deep OC-SORT提升多目标跟踪精度?实战配置与性能优化指南

本文是一份针对开发者的Deep OC-SORT多目标跟踪实战指南。详细解析了如何通过部署其核心的“动态外观记忆”与“相机防抖”模块来有效应对遮挡与抖动,从而显著提升跟踪精度与连续性。内容涵盖从环境搭建、参数调优到性能压榨的全流程,并提供针对不同场景的配置建议与工程落地技巧。

f9g0h的博客 670

高空抛物监控系统:基于YOLOv8的轨迹追踪与可视化系统

本文详细介绍了一种基于YOLOv8深度学习模型的高空抛物监控系统,该系统能够实时检测并追踪高层建筑抛掷物的运动轨迹。文章包含完整的系统设计思路、算法实现细节、数据集构建方法以及基于PyQt5的可视化界面开发过程。我们提供了完整的Python实现代码,并讨论了系统的性能优化策略和实际部署考量。此外,我们还推荐了几个公开可用的高空抛物数据集,并详细分析了系统的应用前景和技术挑战。

YOLO 446

干货驾到:Redis5.0支持的新功能说明

Redis5.0支持的新特性说明 文章来自华为云帮助中心华为云DCS的Redis5.x版本继承了4.x版本的所有功能增强以及新的命令,同时还兼容开源Redis5.x版本的新增特性。 Stream数据结构 Stream是Redis 5.0引入的一种新数据类型,它是一个全新的支持多播的可持久化消息队列。 点击下方链接,可以了解更多详情。 https://www.huaweicloud.com/pro...

weixin_34252090的博客 137

【100%通过率】华为OD机试真题 JavaScript【数字最低位排序】【最低位排序】

2023华为OD机试真题 JavaScript【数字最低位排序】【最低位排序】 给定一个非空数组(列表) 起元素数据类型为整型 请按照数组元素十进制最低位从小到大进行排序 十进制最低位相同的元素,相对位置保持不变 当数组元素为负值时,十进制最低为等同于去除符号位后对应十进制值最低位

MISAYAONE的博客 587

Redis详解(2)内存使用与管理

一、内存使用情况 可以通过info memory命令查看内存使用情况 used_memory: Redis分配的内存总量,即存储的所有数据占用的内存。包括redis进程内部开销和使用的虚拟内存(即swap),单位byte。 used_memory_human: 以可读格式返回使用的内存量(只是显示更友好). used_memory_rss:从系统角度,显示Redis进程占用的物理...

黄规速博客:学如逆水行舟,不进则退 1万+

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

redis-faina输出解读:如何从统计报告中发现Redis性能问题

redis-faina是一款强大的Redis查询分析工具,通过解析Redis的MONITOR命令输出来提供关键的计数器和时序统计信息,帮助开发者和运维人员快速识别Redis性能瓶颈和优化机会。 ## 📊 整体统计(Overall Stats):把握Redis运行状态 整体统计部分提供了最基础也最重要的运行指标,让你快速了解Redis服务器的负载情况。 **关键指标解析**: - **Lin

gitblog_00964的博客 692

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

【Redis】Centos 7 安装 Redis 5.0

Centos 7 安装 Redis5.0

qq_55119554的博客 2174

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Redis 4.0 与 Redis 5.0 改进

Redis 4.0.0 Redis 4.0.0 正式发布,这是 Redis 4.0 系列的首个稳定版,包含以下的一些重大改进:模块化的系统、更好的复制 (PSYNC2)、对 eviction policies, threaded DEL/FLUSH 的改进、混合 RDB+AOF 格式、对 Raspberry Pi 的支持作为主要平台、新的 MEMORY 命令行、Redis Cluster 对 N...

liu1390910的博客 1万+

如何将 Redis 的内存优化?

作者 |阿文责编 | Elle出品 | 优快云(ID:优快云news)双十一、双十二都是买买买的节奏,但是你知道吗?像京东、淘宝这样的电子商城是如何扛得住几亿的请求吗?下面是一个电...

优快云资讯 6027

redis 内存使用率高居高不下,如何分析 key占用情况

清理大key:对非必要的大key直接删除,或拆分(如将大哈希拆分为多个小哈希)。设置合理的过期时间:对临时数据(如缓存)通过EXPIRE设置过期时间,利用Redis自动清理。优化数据结构字符串:若存储JSON等结构化数据,可改用哈希(hash)节省内存。哈希/集合:启用压缩列表(ziplist)配置(如),小数据更高效。处理内存碎片:若过高(如>1.5),可重启Redis(需提前做好持久化)。

cuiwin的专栏 1730

Redis重大版本整理(Redis2.6-Redis7.0)

Redis借鉴了Linux操做系统对于版本号的命名规则:node 版本号第二位若是是奇数,则为非稳定版本(例如2.7、2.9、3.1),若是是偶数,则为稳定版本(例如2.6、2.8、3.0、3.2)。 当前奇数版本就是下一个稳定版本的开发版本,例如2.9版本是3.0版本的开发版本,因此咱们在生产环境一般选取偶数版本的Redis。 下面是重大版本新功能的归纳: Redis6.0 多线程 IO(Threaded I/O) 众多新模块(modules)API 更好的过期循环(expire cycle) 支持SS

耕云者~ 1万+

Redis 5.0新功能介绍

Redis 5.0 Redis5.0版是Redis产品的重大版本发布,我们先看一下它的最新特点: 新的流数据类型(Stream data type)https://redis.io/topics/streams-intro 新的 Redis 模块 API:定时器、集群和字典 API(Timers, Cluster and Dictionary APIs) RDB 增加 LFU 和 LRU...

zhaowei121的博客 176

Redis5.0集群搭建及一些新特性

安装Redis5.0 1.新的Stream数据类型【其他5种:String,set,sorted-set,hash,list】 本质是一个抽象日志。 命令操作: 消费组: >表示读取最新的消息,第二次执行的>,是又插入之后读取的。 读取某个ID之后的消息: Block 0 表示阻塞,也就是在客户端新插入消...

叶小刀 574

Redis5.0 的19 个新特性!

Redis 5.0 GA 正式版发布了! 下载地址: download.redis.io/releases/redis-5.0.0.tar.gz 源码下载: github.com/antirez/redis/releases/tag/5.0.0 先看一下 Redis 5 带来的更新内容: 新的流数据类型(Stream data type) https://redis.io/topics/streams-intro 2.新的 Redis 模块 API:定时器、集群和字典 API(Timers, Cluste

mhHao的博客 829

redis统计访问次数

Redis(Remote Dictionary Server)是一个开源的内存数据库,它可以用作缓存、消息队列、计数器等多种用途。Redis支持各种数据结构,包括字符串、哈希表、列表、集合等,提供了丰富的操作命令和特性,具有高性能、高可用性和丰富的功能特性。

jakelihua 1826
上一篇: Redis5.0新特性-Stream数据类型
下一篇: Redis5.0优化-JEMALLOC5.1(一)实现原理分析
不与天斗8866
博客等级 码龄18年 651粉丝 196原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值