Redis
 sql >> Database >  >> NoSQL >> Redis

Ubuntu 16.04 systemd redis problemi con ulimit

Dopo molte ricerche ho finalmente scoperto che systemd ha un limite standard di 4096 e indipendentemente da ciò che hai impostato a livello di sistema, il livello di systemd avrà sempre la precedenza. La soluzione a questo problema è modificare il limite di file aperti di systemd modificando /etc/systemd/system.conf e aggiungendo la seguente impostazione

DefaultLimitNOFILE=65536

Sembra che ci siano molte impostazioni predefinite in systemd che sovrascrivono le impostazioni di sistema, quindi devono essere impostate in systemd

Quindi, se è utile per le persone, queste sono le mie impostazioni finali per un server Ubuntu 16.04 per l'esecuzione di redis di produzione.

Modifica /etc/systemd/system.conf (sudo nano /etc/systemd/system.conf) e aggiungi

DefaultLimitNOFILE=65536

Modifica /etc/security/limits.conf (sudo nano /etc/security/limits.conf) e aggiungi

*    soft nofile 64000
*    hard nofile 64000
root soft nofile 64000
root hard nofile 64000

Modifica /etc/pam.d/common-session (sudo nano /etc/pam.d/common-session) e aggiungi

session required pam_limits.so

Modifica /etc/pam.d/common-session-noninteractive (sudo nano /etc/pam.d/common-session-noninteractive) e aggiungi

session required pam_limits.so

Modifica /etc/rc.local (sudo nano /etc/rc.local) e aggiungi

sysctl -w net.core.somaxconn=65535

Modifica /etc/sysctl.conf (sudo nano /etc/sysctl.conf) e aggiungi

vm.overcommit_memory = 1

Modifica /etc/rc.local (sudo nano /etc/rc.local) e aggiungi

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