Redis läuft auf OpenSuse 42.1, wirft aber viele Fehler aus. Wie behebe ich das?

Redis läuft auf OpenSuse 42.1, wirft aber viele Fehler aus. Wie behebe ich das?

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=forkingin 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

verwandte Informationen