Linux überlastet Speicher

8041
Doddy

Ich habe mich mit der Überbelegung des Arbeitsspeichers in Linux /proc/sys/vm/overcommit_memorybeschäftigt und habe einige Artikel gelesen, die nicht dasselbe sagen.

Dieses Dokument unter der Überschrift "In die falsche Richtung gehen" sagt dann weiter: "Werte 1: do overcommit und 0 (default): Don't", aber dann in den nächsten Zeilen unter ähnlichen erwähnt Dinge, dass dies nicht wirklich wahr ist und 0 bedeutet "raten Sie, wie viel Überbeanspruchung sinnvoll ist". Das bedeutet, dass die Speicherüberlastung nicht mit dem Wert 0 deaktiviert wird, oder?

Außerdem heißt es, dass "1" niemals "malloc ()" ablehnen "bedeutet, wobei" 2 "die Überbelegung genau angibt. Geben Sie niemals einen virtuellen Adressraum an, der größer ist als der Auslagerungsbereich plus einen Bruchanteil des physischen Speichers.

Das Red Hat-Magazin hingegen sagt: "Wenn der Wert 0 ist, prüft der Kernel, ob genügend Speicher zur Verfügung steht, um einem Malloc-Aufruf aus einer Anwendung eine Speicheranforderung zu gewähren. Wenn genügend Speicher vorhanden ist, dann Die Anforderung wird erteilt, andernfalls wird sie abgelehnt und ein Fehlercode wird an die Anwendung zurückgegeben. " Das klingt genau wie das Deaktivieren von Überbelegung.

Wenn der Wert auf 1 gesetzt ist, gewährt der Kernel Zuordnungen über dem physischen RAM und dem Swap im System, wie durch den overcommit_ratio-Wert definiert. Wenn die Einstellung in dieser Datei 2 ist, erlaubt der Kernel alle Speicherzuordnungen unabhängig vom aktuellen Speicherzuweisungszustand. " In Bezug auf die Werte 1 und 2 ist das das Gegenteil von dem, was der vorherige Doc gesagt hat, richtig?

Weiß jemand, was eigentlich richtig ist und ob es möglich ist, die Überbelegung zu "deaktivieren"?

11
Ich habe diesen vergessen! Das tut mir leid. Doddy vor 8 Jahren 0

1 Antwort auf die Frage

8
jlliagre

Das Red Hat-Magazin hatte 1 und 2 vertauscht. Hüten Sie sich vor Bugs, die möglicherweise verhindern, dass die Überbeanspruchung wie folgt funktioniert: https://bugs.launchpad.net/ubuntu/+source/glibc/+bug/345601

Wahr. Siehe auch den letzten Kommentar unter http://www.saltwebsites.com/2012/install-redis-245-service-centos-6, der dies bestätigt. Fletch vor 12 Jahren 0