2012-10-12 66 views
0

我的电脑有3G内存,我将数据存储到redis.I通过dump.rdb将数据写入磁盘。我发现,当dump.rdb大概是1.5G时,redis会关闭,为什么?如何在redis中处理大数据

当我在redis-cli中输入info时,我发现我的所有内存都被redis使用。

如何解决?

我用32bit, ubuntu 12.04.

,如果我添加更多的内存,32位机只能容纳4G内存,所以如果我会添加更多的数据5G,如何应对这么多的DAT?

thx guys。

回答

2

您正在达到32位进程内存限制。 2GB的地址空间是为内核保留的,只剩下2GB。然后你读1.5GB,并且可能会做更多的事情,涉及分配更多的内存,并且在这个过程中的某个地方,你用完了。

如果您希望能够使用更多功能,则需要使用更多内存和64位操作系统的机器。

+0

我有3个2G的32位机器,我可以设置redis集群来解决这个问题吗? – young001

+0

也许,只要你不需要在任何一台机器上一次加载整个数据集。如果你有任何具有64位硬件的机器,你可能只想在它上面安装64位的ubuntu,并给它一个足够大的交换空间,使得redis不会耗尽虚拟内存。 – Wug