【发布时间】:2013-02-19 13:31:35
【问题描述】:
我正在尝试找出在以下情况下“maxmemory”的安全设置是什么:
- 写繁重的应用程序
- 8GB 内存
- 假设其他进程占用大约 1GB
- 这意味着redis进程的内存使用量永远不会超过7GB
- 每个 BGSAVE 事件的内存使用量都会翻倍,因为:
在 redis docs 中,关于 BGSAVE 事件的内存使用量增加如下所述:
如果您在写入量很大的应用程序中使用 Redis,则在将 RDB 文件保存在磁盘上或重写 AOF 日志时,Redis 可能会使用通常使用的内存的 2 倍。
- maxmemory 限制大致与 redis-cli INFO 中的 'used_memory' 进行比较(如 here 所述),并且不考虑 redis 使用的其他内存
我是否正确,这意味着在这种情况下 maxmemory 设置应设置为不高于 (8GB - 1GB) / 2 = 3.5GB?
如果是这样,我将为 redis 文档创建一个拉取请求以更清楚地反映这一点。
【问题讨论】: