Redis
 sql >> Base de Dados >  >> NoSQL >> Redis

Problemas de redis do Ubuntu 16.04 systemd com ulimit


Depois de muita pesquisa, finalmente descobri que o systemd tem um limite padrão de 4096 e, independentemente do que você definir no nível do sistema, o nível do systemd sempre terá precedência. A correção para isso é alterar o limite de arquivos abertos do systemd editando /etc/systemd/system.conf e adicionando a seguinte configuração
DefaultLimitNOFILE=65536

Parece que existem muitas configurações padrão no systemd que substituem as configurações do sistema, portanto, devem ser definidas no systemd

Portanto, se for útil para as pessoas, essas são minhas configurações finais para um servidor Ubuntu 16.04 para executar redis de produção.

Edite /etc/systemd/system.conf (sudo nano /etc/systemd/system.conf) e adicione
DefaultLimitNOFILE=65536

Edite /etc/security/limits.conf (sudo nano /etc/security/limits.conf) e adicione
*    soft nofile 64000
*    hard nofile 64000
root soft nofile 64000
root hard nofile 64000

Edite /etc/pam.d/common-session (sudo nano /etc/pam.d/common-session) e adicione
session required pam_limits.so

Edite /etc/pam.d/common-session-noninteractive (sudo nano /etc/pam.d/common-session-noninteractive) e adicione
session required pam_limits.so

Edite /etc/rc.local (sudo nano /etc/rc.local) e adicione
sysctl -w net.core.somaxconn=65535

Edite /etc/sysctl.conf (sudo nano /etc/sysctl.conf) e adicione
vm.overcommit_memory = 1

Edite /etc/rc.local (sudo nano /etc/rc.local) e adicione
echo never > /sys/kernel/mm/transparent_hugepage/enabled