本文主要是介绍redis最大储存512m_修改Redis最大占用内存,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.修改Redis最大占用内存
Redis设置最大占用内存,打开redis配置文件:redis.windows-service,找到如下段落,设置maxmemory参数,maxmemory有的是bytes字节类型,注意转换,此处为mb。修改如下所示:
# In short... if you have slaves attached it is suggested that you set a lower
# limit for maxmemory so that there is some free RAM on the system for slave
# output buffers (but this is not needed if the policy is 'noeviction').
#
# maxmemory
maxmemory 8096mb
2.用Redis Desktop Manager查看占用内存
1.打开RedisDesktopManager工具连上Redis,运行如图命令框:
2.在下方命令框中输入info memory,会显示如下结果
其中各个参数的意义:
127.0.0.1:0>info memory
"# Memory
used_memory:1670920 由Redis分配器分配的内存总量,以字节(byte)为单位
used_memory_human:1.59M 以人类可读的格式返回Redis分配的内存总量
used_memory_rss:1633992 从操作系统的角度,返回Redis已分配的内存总量(俗称常驻集大小)。这个值和top、ps等命令的输出一致。
used_memory_rss_human:1.56M
used_memory_peak:1807976 Redis 的内存消耗峰值(以字节为单位)
used_memory_peak_human:1.72M 以人类可读的格式返回Redis的内存消耗峰值
total_system_memory:0
total_system_memory_human:0B
used_memory_lua:37888 Lua 引擎所使用的内存大小(以字节为单位)
used_memory_lua_human:37.00K
maxmemory:1048576000 所查询的Redis设置的的最大内存值(以字节为单位)
maxmemory_human:1000.00M 所查询的Redis设置的的最大内存值(以mb为单位)
maxmemory_policy:noeviction
mem_fragmentation_ratio:0.98 used_memory_rss 和used_memory之间的比率
mem_allocator:jemalloc-3.6.0 在编译时指定的,Redis所使用的内存分配器。可以是libc、jemalloc或者tcmalloc。
"
127.0.0.1:0>
对比几个值
1)当rss > used,且两者的值相差较大时,表示存在(内部或外部的)内存碎片。
内存碎片的比率可以通过 mem_fragmentation_ratio 的值看出。
2)当used > rss时,表示Redis的部分内存被操作系统换出到交换空间了,在这种情况下,操作可能会产生明显的延迟。
当 Redis 释放内存时,分配器可能会,也可能不会,将内存返还给操作系统。
如果 Redis 释放了内存,却没有将内存返还给操作系统,那么used_memory的值可能和操作系统显示的Redis内存占用并不一致。查看used_memory_peak的值可以验证这种情况是否发生。
Redis设置最大占用内存,打开redis配置文件:redis.windows-service,找到如下段落,设置maxmemory参数,maxmemory有的是bytes字节类型,注意转换,此处为mb。修改如下所示:
这篇关于redis最大储存512m_修改Redis最大占用内存的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!