目錄
- THP
- THP對redis的影響
- 關閉THP
redis啟動日志的warning:
WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo madvise > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled (set to 'madvise' or 'never').
THP
記憶體大頁機制(Transport Huge Pages,THP),是linux2.6.38后支持的功能,該功能支持2MB的大爺記憶體分配,默認開啟,常規的記憶體分配為4KB維度,
THP對redis的影響
THP能減少記憶體分配的次數,同時可以加快子行程的fork速度,
但是redis采用了寫時復制機制,一旦有資料要修改,redis不會直接修改記憶體資料,而是copy一份這個資料,然后進行修改,DOUBLE了,
在THP開啟的情況下,如果就算只有2KB的資料,Redis也需要復制2MB的記憶體大頁,而在常規情況下,只需要復制4KB的記憶體頁,使得每次寫命令引起的復制記憶體頁的單位放大了512倍,這會拖慢寫操作的執行時間,導致大于寫操作慢查詢,最終影響redis的性能,
所有在redis服務器需要關閉linux的THP
關閉THP
echo never > /sys/kernel/mm/transparent_hugepage/enabled

再次啟動redis發現文章開始的waring已經不見了,
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/255554.html
標籤:其他
上一篇:Redis DEBUG 除錯命令
下一篇:Redis Lua 腳本
