redis參數優化

redis內存管理方式,支持tcmalloc,jemalloc,malloc三種內存分配,memcache使用slabs,malloc等內存分配方式。
簡單點,就是redis,是邊用邊申請,使用現場申請內存的方式來存儲數據,而且不多使用free-list等方式來優化內存分配; memcache使用預分配的內存池的方式,使用slab和大小不一樣的chunk來管理內存,Item根據大小選擇合適的chunk存儲,內存池的方式能夠省去申請/釋放內存的開銷
優化的參數: 1.設置下redis.conf中的maxmemory選項,個人經驗是當你的redis物理內存使用超過內存總容量的3/5時就會開始比較危險了。redis

2.須要將vm.overcommit設置爲1,這參數在大量寫入時,頗有用
overcommit_memory=0,默認,智能超發,每次要求分配內存時,kernel都會比較請求的空間和空餘的空間是否足以分配 overcommit_memory=1,請求分配內存時,永遠僞裝還有足夠的內存 overcommit_memory=2,不容許超發內存,即容許分配的大小小於
3.確保設置了必定量的swap,最好和內存同樣大,不然內核的OOM(out-of-memory)killer會幹掉Redis進程優化

相關文章
相關標籤/搜索