【发布时间】:2012-06-22 08:26:20
【问题描述】:
我为redis制作了一个简单的基准代码,如下伪代码。
for 10~100 redis sessions:
for n time:
key = some_random_string(key_size) # about 100 byte
data = some_random_string(data_size) # about 100k~1m
session.command("SET %s %s", key, data)
session.command("GET %s", key)
session.command("DEL %s", key)
当基准程序启动时,redis-server 进程的内存使用量单调增加,直到达到物理内存限制 (8gb) 并在会话结束时释放。由于 key 的并发数受限于 session 数,因此数据集的峰值大小不应该那么大。
这是有意为之的行为吗?还是我用错了?
【问题讨论】:
-
您应该添加 Redis 版本、平台、操作系统、内存分配器(可以在编译时更改)等...查看 INFO 命令的输出。
-
版本:2.9.7,操作系统:CentOS/Windows 7,分配器:jemalloc-3.0.0
标签: memory-leaks redis