1
我们在Redis服务器中设置了120 GB最大内存。Redis的used_memory_rss比配置集'maxmemory'多?
所以在信息输出used_memory总是比等于少120GB,但used_memory_rss是140GB〜
有人能请解释的原因呢?
我们在Redis服务器中设置了120 GB最大内存。Redis的used_memory_rss比配置集'maxmemory'多?
所以在信息输出used_memory总是比等于少120GB,但used_memory_rss是140GB〜
有人能请解释的原因呢?
已使用的内存总量包括Redis在数据存储之外使用的任何内存,特别是在磁盘持久性操作(如BGSAVE
和AOF重写)期间使用的各种缓冲区和内存。 maxmemory
设置的数量为数据允许(并包括一些缓冲区,如客户端缓冲区) - 不是整个系统内存。
当您到达maxmemory
Redis将停止允许通过数据命令增加内存使用量。但是,除此之外,还可以自由地使用内存来处理其他任务。
这是因为内存在运行时被碎片化。 –
但是为什么它超过120.操作系统不应该为'maxmemory'中定义的Redis进程提供更多的内存。如果它试图给,OS本身可以去OOM。 –
我只是想了解为什么它比定义的参数'maxmemory'多。 在我的理解中,Redis不应该使用超过'maxmemory'的内存,因为我们已经将95%的内存分配给了Redis进程。 –