如何查看redis内存使用情况

如何查看redis内存使用情况

https://jingyan.baidu.com/article/2c8c281dbd079f0008252a0f.html

Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。Redis的基本特点之一内存数据库,因为其数据是放在内存中的所以查询、操作非常快,但是占用过多的内存也是我们担心的,那么如何查看Redis内存使用情况呢?

工具/原料

 
  • Redis
  • Redis 客户端

方法/步骤

 
  1. 1

    使用Redis客户端连接Redis,保证可以执行Redis命令,我用的客户端是 Redis Desktop Manager,当然也可使用 Xshell

    如何查看redis内存使用情况

  2. 2

    执行 info memory 查询 Redis 内存使用情况信息

    如何查看redis内存使用情况

  3. 3

    分析 查询结果

    used_memory : 由 Redis 分配器分配的内存总量,以字节(byte)为单位

    used_memory_human : 以人类可读的格式返回 Redis 分配的内存总量

    used_memory_rss : 从操作系统的角度,返回 Redis 已分配的内存总量(俗称常驻集大小)。这个值和 top 、 ps 等命令的输出一致。

    如何查看redis内存使用情况

  4. 4

    分析 查询结果2

    used_memory_peak : Redis 的内存消耗峰值(以字节为单位)

    used_memory_peak_human : 以人类可读的格式返回 Redis 的内存消耗峰值

    used_memory_lua : Lua 引擎所使用的内存大小(以字节为单位)

    mem_fragmentation_ratio : used_memory_rss 和 used_memory 之间的比率

    mem_allocator : 在编译时指定的, Redis 所使用的内存分配器。可以是 libc 、 jemalloc 或者 tcmalloc 。

    如何查看redis内存使用情况

  5. 5

    对比几个值

    1)当 rss > used ,且两者的值相差较大时,表示存在(内部或外部的)内存碎片。

    内存碎片的比率可以通过 mem_fragmentation_ratio 的值看出。

    2)当 used > rss 时,表示 Redis 的部分内存被操作系统换出到交换空间了,在这种情况下,操作可能会产生明显的延迟。

    如何查看redis内存使用情况

  6. 6

    当 Redis 释放内存时,分配器可能会,也可能不会,将内存返还给操作系统。

    如果 Redis 释放了内存,却没有将内存返还给操作系统,那么 used_memory 的值可能和操作系统显示的 Redis 内存占用并不一致。查看 used_memory_peak 的值可以验证这种情况是否发生。

    END

注意事项

 
  • 内存碎片注意清理
  • 根据自己内存大小进行测试

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/113508.html原文链接:https://javaforall.net

(1)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java程序设计(基础)- 基本语法

    Java程序设计(基础)- 基本语法

    2021年7月21日
    56
  • leveldb多线程读写(大数据高并发解决方案)

    在并发写入的时候,leveldb巧妙的利用一个时间窗口做batch写入,这部分代码值得一读:StatusDBImpl::Write(constWriteOptions&options,WriteBatch*my_batch){  //partA  Writerw(&mutex_);  w.batch=my_batch;  w.sync=options.syn…

    2022年4月16日
    187
  • MIPI协议简介

    MIPI协议简介MIPI协议简介 介绍 MIPI联盟定义了一套接口标准,把移动设备内部的接口如摄像头、显示屏、基带、射频接口等标准化,从而增加设计灵活性,同时降低成本、设计复杂度、功耗和EMI。未来的产品都将朝着移动的方向发展,例如智能手机、数码相机、摄像机、平板电脑、媒体播放器、游戏机等,这些产品需要能执行多任务,包括处理多个不同的传感器如麦克风、图像传感器、磁罗盘、三轴加速度计和精细的触摸屏…

    2022年4月28日
    60
  • 最详细eclipse汉化插件安装教程

    最详细eclipse汉化插件安装教程教程作者:阿良,欢迎转载,转载请说明出处!本人QQ:583393588,欢迎广大安卓朋友交流!本文与《最详细安卓ADT装教程》是兄弟篇,欢迎查阅:http://blog.csdn.net/dai_zhenliang/article/details/8490837我鄙视那些中文不好而鄙视我用中文的人离线安装中文包方式一:使用下载单独的语言包比如汉化eclipseindig

    2022年6月1日
    35
  • oracle数据库菜鸟入门

    oracle数据库菜鸟入门所有应用软件之中,数据库可能是最复杂的。MySQL的手册有3000多页,PostgreSQL的手册有2000多页,Oracle的手册更是比它们相加还要厚。但是,自己写一个最简单的数据库,做起来并不难。Reddit上面有一个帖子,只用了几百个字,就把原理讲清楚了。下面是我根据这个帖子整理的内容。一、数据以文本形式保存第一步,就是将所要保存的数据,写入文本文件。这个文本文件就是你的数据库。为了方便读取,数据必须分成记录,每一条记录的长度规定为等长。比如,假定每条记录的长度是800字节,那

    2022年8月30日
    2
  • 手机wifiap频段_wifi信道频率

    手机wifiap频段_wifi信道频率WifiManager wifiManager = (WifiManager)getApplicationContext().getSystemService(Context.WIFI_SERVICE);//注意用getApplicationContext可以避免android内存泄漏.WifiInfoconnectInfo= wifiManager.getConnectionInfo();根…

    2022年10月20日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号