2012-10-12 65 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