2012-11-14 17 views
0

我已經引述的Redis的配置文件如下:什麼是正確的狀態檢查[到達maxmemory當在Redis的

... 
maxmemory 

MAXMEMORY POLICY: how Redis will select what to remove when maxmemory 
is reached? You can select among five behavior: 
... 

在這裏,我的問題有云:什麼是正確的條件檢查何時到達maxmemory

首先,我想答案是[used_memory >= maxmemory],其中used_memoryINFO命令顯示。

但是,現在我很困惑,答案可能是[used_memory_rss >= maxmemory]

什麼是正確答案?

回答

0

將maxmemory參數與從used_memory而不是used_memory_rss計算出的值進行比較。

現在,確切的行爲並不是微不足道的,因爲Redis嘗試估計考慮主/從複製和AOF緩存的內存量。值爲used_memory(由分配器包裝器計算)減去從器件輸出緩衝器的大小,減去AOF緩衝器的大小。然後將此值與maxmemory進行比較。

+0

感謝您的詳細解釋。 – user1823073

+0

我可以估計或計算兩種尺寸(AOF緩衝區,緩衝區輸出緩衝區)嗎? – user1823073

+0

使用Redis 2.6,您可以通過使用INFO命令(它對應於aof_buffer_length + aof_rewrite_buffer_length)來獲得AOF緩衝區大小。除了通過檢測Redis代碼本身之外,我找不到獲得從屬輸出緩衝區大小的技巧。 –

相關問題