Redis
 sql >> Datenbank >  >> NoSQL >> Redis

Ubuntu 16.04 systemd redis Probleme mit ulimit

Nach langem Suchen fand ich schließlich heraus, dass systemd ein Standardlimit von 4096 hat und unabhängig davon, was Sie auf Systemebene einstellen, die systemd-Ebene immer Vorrang hat. Die Lösung dafür besteht darin, das Systemd-Limit für offene Dateien zu ändern, indem Sie /etc/systemd/system.conf bearbeiten und die folgende Einstellung hinzufügen

DefaultLimitNOFILE=65536

Es scheint, dass es viele Standardeinstellungen in systemd gibt, die die Systemeinstellungen außer Kraft setzen, also müssen sie in systemd gesetzt werden

Wenn es also für Leute von Nutzen ist, sind dies meine endgültigen Einstellungen für einen Ubuntu 16.04-Server zum Ausführen von Produktions-Redis.

Bearbeiten Sie /etc/systemd/system.conf (sudo nano /etc/systemd/system.conf) und fügen Sie hinzu

DefaultLimitNOFILE=65536

Bearbeiten Sie /etc/security/limits.conf (sudo nano /etc/security/limits.conf) und fügen Sie

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

Bearbeiten Sie /etc/pam.d/common-session (sudo nano /etc/pam.d/common-session) und fügen Sie

hinzu
session required pam_limits.so

Bearbeiten Sie /etc/pam.d/common-session-noninteractive (sudo nano /etc/pam.d/common-session-noninteractive) und fügen Sie

hinzu
session required pam_limits.so

Bearbeiten Sie /etc/rc.local (sudo nano /etc/rc.local) und fügen Sie

hinzu
sysctl -w net.core.somaxconn=65535

Bearbeiten Sie /etc/sysctl.conf (sudo nano /etc/sysctl.conf) und fügen Sie

hinzu
vm.overcommit_memory = 1

Bearbeiten Sie /etc/rc.local (sudo nano /etc/rc.local) und fügen Sie

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