Redis 3.2.4 mit Paketmanager auf OpenSuse 42.1 installiert. Die Maschine hat 16 GB Arbeitsspeicher.
Habe diese Schritte ausgeführt, um es zum Laufen zu bringen. (Ich würde es gerne als Daemon ausführen, habe die Einstellungen aber nicht geändert.)
cp default.conf.example default.conf
chown root.redis default.conf
systemctl enable redis@default
systemctl start redis@default
service redis start
Folgende Fehler treten auf:
54778:C 18 Jan 12:38:56.664 # systemd supervision requested, but NOTIFY_SOCKET not found
54778:M 18 Jan 12:38:56.665 # You requested maxclients of 10000 requiring at least 10032 max file descriptors.
54778:M 18 Jan 12:38:56.665 # Server can't set maximum open files to 10032 because of OS error: Operation not permitted.
54778:M 18 Jan 12:38:56.665 # Current maximum open files is 4096. maxclients has been reduced to 4064 to compensate for low ulimit. If you need higher maxclients increase 'ulimit -n'.
54778:M 18 Jan 12:38:56.666 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
54778:M 18 Jan 12:38:56.666 # Server started, Redis version 3.2.4
54778:M 18 Jan 12:38:56.666 # WARNING overcommit_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.
54778:M 18 Jan 12:38:56.666 # 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.
Antwort1
muss eine Zeile Type=forking
in der Sektion [Service]
Datei eingebenredis.service
für Ubuntu-Typsudo nano /etc/systemd/system/redis.service
Antwort2
anscheinend müssen Sie Ihren Linux-Kernel optimieren. Sehen Sie sich den sysctl-Befehl, die Konfigurationsdatei sysctl.conf sowie die entsprechenden Manpages an.
Sie müssen die folgenden Kernelwerte erhöhen: Max. Dateideskriptoren, Max. offene Dateien, Max. Verbindungen, Overcommit-Speicher aktivieren und Transparent Huge Pages deaktivieren. Und danach neu starten
Ihre Redis-Instanz scheint zu laufen, allerdings mit eingeschränkter Leistung