Inhaltsverzeichnis
Hintergrund
Kernel-Parameter overcommit_memory
Lösung:
Heim Datenbank Redis So beheben Sie den overcommit_memory-Fehler in der Redis-Datenbank unter Linux

So beheben Sie den overcommit_memory-Fehler in der Redis-Datenbank unter Linux

May 27, 2023 pm 08:55 PM
linux redis

Hintergrund

Das Redis des Unternehmens schlägt manchmal beim Speichern der Datenbank im Hintergrund fehl. Der folgende Alarm wird im Protokoll gefunden, der wahrscheinlich dadurch verursacht wird:

[13223] 17. März 13:18:02.207 # WARNUNG overcommit_memory ist auf 0 gesetzt! Das Speichern im Hintergrund kann bei geringem Arbeitsspeicher fehlschlagen. Um dieses Problem zu beheben, fügen Sie „vm.overcommit_memory = 1“ zu /etc/sysctl.conf hinzu und starten Sie dann neu oder führen Sie den Befehl „sysctl vm.overcommit_memory=1“ aus, damit dies wirksam wird.

Nachdem ich gesucht habe, habe ich herausgefunden, dass einige Leute auf das gleiche Problem gestoßen sind wie ich, und es wird grundsätzlich festgestellt, dass es dadurch verursacht wird.

Kernel-Parameter overcommit_memory

Es ist 内存分配策略

Optionale Werte: 0, 1, 2.

  • 0 bedeutet, dass der Kernel prüft, ob genügend Speicher für die Verwendung durch den Anwendungsprozess vorhanden ist. Wenn genügend Speicher vorhanden ist, schlägt die Speicheranwendung fehl und es wird ein Fehler zurückgegeben Bewerbungsprozess.

  • 1 gibt an, dass der Kernel die Zuweisung des gesamten physischen Speichers unabhängig vom aktuellen Speicherstatus zulässt.

  • 2, was darauf hinweist, dass der Kernel Speicher zuweisen darf, der die Summe des gesamten physischen Speichers und Auslagerungsspeichers übersteigt kann mehr größere Programme ausführen. Denn nach der Speicherbeantragung wird der Speicher nicht sofort genutzt. Diese Technik wird Overcommit genannt. Wenn Linux erkennt, dass nicht genügend Speicher vorhanden ist, löst es den OOM-Killer aus (OOM steht für „Insuffizienter Speicher“). Um Speicher freizugeben, wird dem Beenden einiger Benutzermodusprozesse Vorrang vor dem Beenden von Kernel-Threads eingeräumt.

  • Welche Prozesse wird Linux töten, wenn Oom-Killer auftritt? Die Funktion, die den Prozess auswählt, ist die Funktion oom_badness (in mm/oom_kill.c), die die Anzahl der Punkte (0 ~ 1000) für jeden Prozess berechnet. Je höher die Punktzahl, desto wahrscheinlicher ist es, dass der Prozess abgebrochen wird. Die Anzahl der Punkte pro Prozess hängt von oom_score_adj ab, und oom_score_adj kann festgelegt werden (-1000 ist der niedrigste Wert, 1000 der höchste Wert).

Lösung:

Es ist ganz einfach, folgen Sie einfach den Anweisungen (setzen Sie vm.overcommit_memory auf 1):

Es gibt drei Möglichkeiten, die Kernel-Parameter zu ändern, aber Sie benötigen Root-Berechtigungen:

(1) Bearbeiten/ etc/sysctl.conf, ändern Sie vm.overcommit_memory=1 und dann sysctl -p, damit die Konfigurationsdatei wirksam wird

    (2) sysctl vm.overcommit_memory=1
  • (3) echo 1 > proc/sys/ vm/overcommit_memory

Das obige ist der detaillierte Inhalt vonSo beheben Sie den overcommit_memory-Fehler in der Redis-Datenbank unter Linux. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie löste ich das Problem der Berechtigungen beim Betrachten der Python -Version in Linux Terminal? Wie löste ich das Problem der Berechtigungen beim Betrachten der Python -Version in Linux Terminal? Apr 01, 2025 pm 05:09 PM

Lösung für Erlaubnisprobleme beim Betrachten der Python -Version in Linux Terminal Wenn Sie versuchen, die Python -Version in Linux Terminal anzuzeigen, geben Sie Python ein ...

Wie löste ich Berechtigungsprobleme bei der Verwendung von Python -Verssionsbefehl im Linux Terminal? Wie löste ich Berechtigungsprobleme bei der Verwendung von Python -Verssionsbefehl im Linux Terminal? Apr 02, 2025 am 06:36 AM

Verwenden Sie Python im Linux -Terminal ...

Kann der Python -Dolmetscher im Linux -System gelöscht werden? Kann der Python -Dolmetscher im Linux -System gelöscht werden? Apr 02, 2025 am 07:00 AM

In Bezug auf das Problem der Entfernung des Python -Dolmetschers, das mit Linux -Systemen ausgestattet ist, werden viele Linux -Verteilungen den Python -Dolmetscher bei der Installation vorinstallieren, und verwendet den Paketmanager nicht ...

Wie konfigurieren Sie die Timing -Timing -Aufgabe von ApScheduler als Dienst auf macOS? Wie konfigurieren Sie die Timing -Timing -Aufgabe von ApScheduler als Dienst auf macOS? Apr 01, 2025 pm 06:09 PM

Konfigurieren Sie die Timing -Timing -Timing -Timing -Timing auf der MacOS -Plattform, wenn Sie die Timing -Timing -Timing -Timing von APScheduler als Service konfigurieren möchten, ähnlich wie bei NGIN ...

Vier Möglichkeiten zur Implementierung von Multithreading in C -Sprache Vier Möglichkeiten zur Implementierung von Multithreading in C -Sprache Apr 03, 2025 pm 03:00 PM

Multithreading in der Sprache kann die Programmeffizienz erheblich verbessern. Es gibt vier Hauptmethoden, um Multithreading in C -Sprache zu implementieren: Erstellen Sie unabhängige Prozesse: Erstellen Sie mehrere unabhängig laufende Prozesse. Jeder Prozess hat seinen eigenen Speicherplatz. Pseudo-MultitHhreading: Erstellen Sie mehrere Ausführungsströme in einem Prozess, der denselben Speicherplatz freigibt und abwechselnd ausführt. Multi-Thread-Bibliothek: Verwenden Sie Multi-Thread-Bibliotheken wie PThreads, um Threads zu erstellen und zu verwalten, wodurch reichhaltige Funktionen der Thread-Betriebsfunktionen bereitgestellt werden. Coroutine: Eine leichte Multi-Thread-Implementierung, die Aufgaben in kleine Unteraufgaben unterteilt und sie wiederum ausführt.

Ist Debian Strings kompatibel mit mehreren Browsern Ist Debian Strings kompatibel mit mehreren Browsern Apr 02, 2025 am 08:30 AM

"DebianStrings" ist kein Standardbegriff und seine spezifische Bedeutung ist noch unklar. Dieser Artikel kann seine Browserkompatibilität nicht direkt kommentieren. Wenn sich jedoch "DebianStrings" auf eine Webanwendung bezieht, die auf einem Debian -System ausgeführt wird, hängt seine Browserkompatibilität von der technischen Architektur der Anwendung selbst ab. Die meisten modernen Webanwendungen sind für die Kompatibilität des Cross-Browsers verpflichtet. Dies beruht auf den folgenden Webstandards und der Verwendung gut kompatibler Front-End-Technologien (wie HTML, CSS, JavaScript) und Back-End-Technologien (wie PHP, Python, Node.js usw.). Um sicherzustellen, dass die Anwendung mit mehreren Browsern kompatibel ist, müssen Entwickler häufig Kreuzbrowser-Tests durchführen und die Reaktionsfähigkeit verwenden

Wie ist Debian Hadoop -Kompatibilität? Wie ist Debian Hadoop -Kompatibilität? Apr 02, 2025 am 08:42 AM

Debianlinux ist bekannt für seine Stabilität und Sicherheit und wird in Server-, Entwicklungs- und Desktop -Umgebungen häufig verwendet. Während es derzeit einen Mangel an offiziellen Anweisungen zur direkten Kompatibilität mit Debian und Hadoop gibt, wird dieser Artikel Sie dazu veranlassen, Hadoop in Ihrem Debian -System bereitzustellen. Debian -Systemanforderungen: Bevor Sie mit der Hadoop -Konfiguration beginnen, stellen Sie bitte sicher, dass Ihr Debian -System die Mindestanforderungen von Hadoop erfüllt, einschließlich der Installation der erforderlichen Java -Laufzeitumgebung (JRE) und Hadoop -Pakete. Schritte zur Bereitstellung von Hadoop -Bereitstellungen: Download und Unzip Hadoop: Laden Sie die Hadoop -Version von der offiziellen Apachehadoop -Website herunter und lösen Sie sie

Wie löste ich das Problem des Typs des user_id -Typs bei der Verwendung von Redis -Stream, um Nachrichtenwarteschlangen in GO -Sprache zu implementieren? Wie löste ich das Problem des Typs des user_id -Typs bei der Verwendung von Redis -Stream, um Nachrichtenwarteschlangen in GO -Sprache zu implementieren? Apr 02, 2025 pm 04:54 PM

Das Problem der Verwendung von RETISTREAM zur Implementierung von Nachrichtenwarteschlangen in der GO -Sprache besteht darin, die Go -Sprache und Redis zu verwenden ...

See all articles