【发布时间】:2015-12-17 23:43:57
【问题描述】:
我正在本地机器上尝试使用 redis 3.0 驱逐策略 - 我想限制最大内存,以便 redis 不能消耗超过 20 兆字节。
我的配置:
loglevel debug
maxmemory 20mb
maxmemory-policy noeviction
从这里,我运行 redis-server 和我的配置,然后是
redis-benchmark -q -n 100000 -c 50 -P 12
在内存中存储一堆键。这使我的 Mac 上的 redis 内存使用量为 21MB,超过指定限制 1 MB。如果我再次运行它,会消耗更多。
根据redis documentation,这应该由我的 maxmemory 指令和驱逐策略控制,在后续写入时会引发错误,但我没有发现这种情况。
为什么 redis-server 消耗的内存比分配的多?
【问题讨论】:
-
操作系统的内存使用量与用户数据占用的内存不同 - 为此使用
INFO -
使用
redis-cli INFO|grep memory并查看指标used_memory_human,我也超出了限制但无法产生任何错误
标签: redis