used_memory_rss在redis中太高了

时间:2017-06-16 05:23:54

标签: redis

我有Redis实例,其最大内存设置为45GB,使用的内存大约为40GB,峰值内存使用量为42 GB,但RSS太高了80 GB。 有没有办法释放这段记忆。

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
76829 root 20 0 95.3g 80g 1328 R 56.4 63.8 29424:59 redis-server

Memory

used_memory:41960888496
used_memory_human:39.08G
used_memory_rss:86287454208
used_memory_rss_human:80.36G
used_memory_peak:46040101560
used_memory_peak_human:42.88G
total_system_memory:135211622400
total_system_memory_human:125.93G
used_memory_lua:37888
used_memory_lua_human:37.00K
maxmemory:48318382080
maxmemory_human:45.00G
maxmemory_policy:allkeys-lru
mem_fragmentation_ratio:2.06
mem_allocator:jemalloc-4.0.3

1 个答案:

答案 0 :(得分:0)

你有非常大的值(大于4k)吗?这是一个可能的原因,因为很明显,在这种情况下,jemalloc会浪费大量的记忆。

这对redis来说一直是个问题,因为redis实际上并不是内存分配。

重启可以释放内存,但当然不是一个好方法。