阅读Redis信息

时间:2014-02-26 00:06:20

标签: redis

我的笔记本电脑只有8GB内存,我试图对我的应用程序进行压力测试,该应用程序大量使用Redis。当我查看INFO输出时,我无法弄清楚如何使用内存为31.83GB。 Rdb转储只有300 MB。

# Memory
used_memory:34177666096
used_memory_human:31.83G
used_memory_rss:412901376
used_memory_peak:34175483600
used_memory_peak_human:31.83G
used_memory_lua:31744
mem_fragmentation_ratio:0.01
mem_allocator:libc

问题:

为什么Rdb转储如此之小且used_memory_human如此之大?如何识别实际内存使用情况(INFO显示不同的内容)?

1 个答案:

答案 0 :(得分:5)

Redis不在内存和磁盘上使用相同的数据表示。每一个都经过优化。内存中的表示针对访问速度进行了优化,而磁盘上的表示则减少了磁盘空间的使用。因此,您无法将文件大小与使用的RAM进行比较。

used_memory / used_memory_human是由libc分配给Redis的内存。因为它远远大于used_memory_rss,这是操作系统看到的大小,这意味着你的系统正在交换,所以你应该期待一些性能问题。