2017-06-12 1 views
1

App wird mit OOM Killer getötet getötet auf bestimmten oom_score. Gibt es einen bestimmten Wert, der für OOM festgelegt wurde, wenn der Prozess nach dem Erreichen des Wertsatzes beendet werden soll oder wie eine Entscheidung zum Töten getroffen wird?Finden, in welchem ​​Zustand oder OOM-Score-Wert eine App getötet wird

Wenn es mit einem festen Wert oom_score getan wird, gibt es eine Möglichkeit, den Wert zu ändern.

Kann jemand im Detail wie man mit dem OOM umgehen, um zu verstehen, was genau passiert, wenn OOM Killer meine App zu töten?

Antwort

2

Gibt es einen bestimmten Wert für OOM, wenn der Prozess beendet werden soll, nachdem der Wert erreicht wurde oder eine Entscheidung getroffen wird, wann er beendet werden soll?

Nein. Der OOM-Killer wird nur verwendet, wenn das System über wenig Arbeitsspeicher verfügt. Wenn dies geschieht, wird der Prozess mit dem höchsten OOM-Score beendet. Die Bewertung basiert auf der Menge an Speicher, die ein Prozess verwendet, mit einigen Anpassungen basierend auf verschiedenen Heuristiken.

Wenn der OOM Killer überhaupt aktiviert wird, hat Ihr System im Allgemeinen zu wenig Speicher oder ein Prozess läuft außer Kontrolle. Dies sollte niemals in einem Embedded-Gerät passieren - es ist ein Zeichen für irgendein Problem.

Das alles gesagt, können Sie den OOM-Score für einen Prozess anpassen, indem Sie einen Wert in /proc/$pid/oom_score_adj schreiben. Der Wert in dieser Datei wird dem OOM-Wert des Prozesses hinzugefügt, sodass ein positiver Wert dazu führt, dass der OOM-Killer diesen Prozess häufiger anvisiert. Ein negativer Wert führt dazu, dass der OOM-Killer den Prozess vermeidet.

+1

Bekam es, aber meine App wird getötet, sobald sie einen OOM-Wert von 780 erreicht hat oder die Mem-Nutzung über 80% erreicht. Bedeutet, dass OOM den Prozess nur dann beendet, wenn meine App mehr als 80% des gesamten Speichers belegt. Gibt es eine Möglichkeit, das zu konfigurieren? – Reddy

+2

Ja - durch Hinzufügen von mehr Speicher zu Ihrem Gerät. Es ist nicht genug Speicher. Etwas muss gehen, und der Prozess, der 80% Speicher verwendet, ist das offensichtliche Ziel. – duskwuff

Verwandte Themen