Redis 學習筆記7 虛擬記憶體

2021-07-08 10:32:09 字數 686 閱讀 8315

虛擬記憶體是用來將記憶體中不經常使用的資料交換到檔案中,騰出寶貴的記憶體空間,留個經常訪問的資料使用。

redis沒有使用os的虛擬記憶體:

1 os的虛擬記憶體最小單位為4k而redis物件一般遠遠小於4k。這樣一般會造成乙個os頁上有多個物件,如果只有少數物件比較活躍,os會認為每個os頁比較活躍,從而直到記憶體耗盡時候才會進行交換。

2 redis的虛擬記憶體vm會對交換的物件壓縮,從而大大減少io操作。

配置:vm-enabled yes  開啟虛擬記憶體。redis為保證key的查詢效率,只對value進行交換,redis 的虛擬記憶體也是以頁為單位,每乙個頁上只存乙個物件。

vm-swap-file /tmp/redis.swap  交換的檔案儲存位置。

vm-max-memory 1000000  進行交換時候的最大記憶體邊界。當redis使用的記憶體沒有達到最大記憶體的時候,不會進行交換,超過最大記憶體的時候會進行交換,會把較老的較大的物件進行交換。

vm-page-size 32 頁面尺寸,要合理設定,太大浪費磁碟空間,太小會產生磁碟碎片。

vm-pages 134217728  頁數  記憶體中,用1bit記錄每一頁的狀態。

vm-max-threads 4 工作執行緒數,為0 只使用主線程進行交換,大於0 時候,最好設定為cpu core數。 當為0的時候總體來說效能較好,不會造成建立執行緒等的額外開銷,但是響應性差一些。

redis學習筆記之虛擬記憶體

redis學習筆記之虛擬記憶體 首先說明下redis的虛擬記憶體與os的虛擬記憶體不是一碼事,但是思路和目的都是相同的。就是暫時把不經常訪問的資料從記憶體交換到磁碟中,從而騰出寶貴的 記憶體空間用於其他需要訪問的資料。尤其是對於redis這樣的記憶體資料庫,記憶體總是不夠用的。除了可以將資料分割到多...

九 redis學習筆記之虛擬記憶體

首先說明下redis的虛擬記憶體與os的虛擬記憶體不是一碼事,但是思路和目的都是相同的。就是暫時把不經常訪問的資料從記憶體交換到磁碟中,從而騰出寶貴的 記憶體空間用於其他需要訪問的資料。尤其是對於redis這樣的記憶體資料庫,記憶體總是不夠用的。除了可以將資料分割到多個redis server外。另...

九 redis學習筆記之虛擬記憶體

首先說明下redis的虛擬記憶體與os的虛擬記憶體不是一碼事,但是思路和目的都是相同的。就是暫時把不經常訪問的資料從記憶體交換到磁碟中,從而騰出寶貴的 記憶體空間用於其他需要訪問的資料。尤其是對於redis這樣的記憶體資料庫,記憶體總是不夠用的。除了可以將資料分割到多個redis server外。另...