古詩詞大全網 - 成語大全 - Redis 啟動警告解決方法

Redis 啟動警告解決方法

第壹個問題: Increased maximum number of open files to 10032 (it was originally set to 1024). ?

原因分析:即進程能打開的最大文件描述符太小了。系統默認設置的值壹般是 1024 。

解決方法:

1.系統級別,即?linux 內核能分配的最大文件描述符數量(參考:mit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.

原因分析:vm.overcommit_memory?指的是進程申請的內存大小。當參數值為 0?時,如果壹次性申請的內存大小超過了系統總內存,有可能被拒絕。當參數值為 0?時,有可能會導致?redis?執行 bgsave?操作保存 rdb?文件失敗。(參考:/?p=102)。

解決方法:

# vi /etc/sysctl.conf

vm.overcommit_memory = 1

# sysctl -p

查看方法:

# cat /proc/sys/vm/overcommit_memory

# sysctl vm.overcommit_memory

第四個問題:

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 never > /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.

原因分析:Transparent Huge Pages (THP)?開啟後會使 redis?時延變大和造成內存使用問題(參考:https://redis.io/topics/latency)。

解決方法(CentOS 6.X):

echo never > /sys/kernel/mm/transparent_hugepage/enabled

# vim /etc/rc.local

echo never > /sys/kernel/mm/transparent_hugepage/enabled

解決方法(CentOS 7.X):

# vim?/etc/systemd/system/disable-transparent-huge-pages.service

[Unit]

Description=Disable Transparent Huge Pages (THP)

DefaultDependencies=no

After=sysinit.target local-fs.target

[Service]

Type=oneshot

ExecStart=/bin/sh -c 'echo never | tee /sys/kernel/mm/transparent_hugepage/enabled > /dev/null'

[Install]

WantedBy=basic.target

# systemctl enable disable-transparent-huge-pages

# systemctl start disable-transparent-huge-pages

查看方法:

# cat /sys/kernel/mm/transparent_hugepage/enabled

always madvise [never]