我想让Redis还一些记忆。我将最大内存降低了10 on,但注意到Redis仍然在基于"used_memory_rss“的RSS中”保存“它。基于http://redis.io/topics/memory-optimization,看起来Redis不会将内存返回到操作系统。我怎么才能强迫你这么做?有没有办法不重新启动Redis就这么做?
发布于 2018-04-24 07:39:50
我也有同样的问题,这个答案很有帮助。
尽管Redis不再使用内存,但分配程序还没有将内存释放回操作系统。Reds v4有一个
MEMORY PURGE命令,告诉分配程序释放它没有使用的内存,但不幸的是,在v3.2中,这是不可用的。
发布于 2016-09-18 02:54:49
可以动态地重新配置redis,但在下次重新启动之前它不会重新读取配置文件。要做到这一点,您必须使用CONFIG命令来更改值。
来自http://redis.io/topics/config的片段
在服务器运行时更改Redis配置可以在不停止和重新启动服务的情况下动态地重新配置Redis,或者使用特殊的命令配置集和配置GET以编程方式查询当前配置--并不是以这种方式支持所有配置指令,但大多数配置指令都按预期的方式得到支持。有关更多信息,请参考配置集和配置获取页面。请注意,动态修改配置对redis.conf文件没有任何影响,因此下次重新启动Redis时,将使用旧的配置。确保还相应地将redis.conf文件修改为使用配置集设置的配置。您可以手动完成,也可以从Redis2.8开始,只需使用配置重写,它将自动扫描redis.conf文件并更新与当前配置值不匹配的字段。不存在但设置为默认值的字段不添加。配置文件中的注释将保留。
配置集详细信息
如果这不起作用,而且您有一个奴隶,您可以和他们玩一个shell游戏,减少从服务器上的内存,重新启动它,将其提升到主服务器,减少原始主机上的内存并重新启动它。
https://dba.stackexchange.com/questions/149866
复制相似问题