GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Linux – Ist es möglich, Oom-Killer bei erzwungenem Austausch auszulösen?

Ist es möglich, dass das System inaktive Seiten präventiv auslagert (vm.swappiness ), aber den oom-killer aufrufen, wenn dem System der Arbeitsspeicher ausgeht (im Gegensatz zum Arbeitsspeicher) und zum Austauschen gezwungen wird?

Das ultimative Ziel besteht darin, zu verhindern, dass das System zum Erliegen kommt, wenn es anfängt, die Festplatte wegen schwerwiegender Seitenfehler zu zertrümmern, aber dennoch inaktive Seiten ausgelagert werden können.

Ein weiterer Wunsch wäre, zu konfigurieren, wie viel Auslagerungsspeicher das System verwenden muss, bevor der Oom-Killer auslöst. Auf diese Weise kann das System nur ein wenig in den Swap eintauchen, solange es nicht zu weit geht. Oder ich könnte einen solchen Schwellenwert festlegen, um oom-killer auszulösen, bevor der gesamte RAM verwendet wird, sodass immer Platz für den Dateisystem-Cache vorhanden ist (und somit mehr Festplatten-Thrashing vermieden wird).

Es scheint nicht so, als wäre dies so schwer zu tun. Es scheint, als könnten Sie dem Oom-Killer einfach sagen, dass er auslösen soll, wenn das System X-RAM verwendet / frei hat. Aber deshalb frage ich; Ich weiß es nicht.

Zur Klarstellung:Ich möchte Swap nicht deaktivieren oder die vm.swappiness anpassen Parameter

Akzeptierte Antwort:

Ich hatte auch mit diesem Problem zu kämpfen. Ich möchte nur, dass mein System auf jeden Fall reaktionsfähig bleibt, und ich ziehe es vor, Prozesse zu verlieren, anstatt ein paar Minuten zu warten. Es scheint keine Möglichkeit zu geben, dies mit dem Kernel-Oom-Killer zu erreichen.

Im Benutzerbereich können wir jedoch tun, was wir wollen. Also habe ich den Early OOM Daemon
( https://github.com/rfjakob/earlyoom ) geschrieben, der den größten Prozess (per RSS) beendet, sobald der verfügbare RAM unter 10 % fällt.

Ohne Earlyoom war es einfach, meinen Rechner (8 GB RAM) zu sperren, indem ich http://www.unrealengine.com/html5/ ein paar Mal gestartet habe. Jetzt werden die schuldigen Browser-Tabs gelöscht, bevor die Dinge außer Kontrolle geraten.


Linux
  1. Linux – Schlüsseltausch in einem virtuellen Terminal?

  2. Erstellen Sie eine Linux-Auslagerungsdatei

  3. Möglich, das Herunterfahren unter Linux abzubrechen?

  4. Linux:Keine Swap-Partition erstellen?

  5. Ist es möglich, Linux von einer GPT-Festplatte auf einem BIOS-System zu booten?

Kali Linux-Systemanforderungen

Befehl zum Herunterfahren von Linux

Fsck-Befehl unter Linux

Ist Linux ein Betriebssystem oder ein Kernel?

Verwalten von Swap im modernen Linux-System

Dokumentieren der Systemverfügbarkeit in Linux