Re: OT: Out of Memory killer

From: Oliver Fromme <olli(at)lurza.secnetix.de>
Date: Fri, 18 Nov 2005 18:12:48 +0100 (CET)

Marian Hettwer <MH(at)kernel32.de> wrote:
> ich habe hier grade ein Linux System gefunden, was sich selbstständig
> ins Nirvana geschossen hat.
> Nachzulesen (und zu lachen) hier:
> http://crivens.unixoid.de/~rabauke/death-of-a-linuxbox.txt
>
> Mir stellt sich nun die Frage, wie würde sich ein FreeBSD (5.x, 6.x)
> verhalten? Ich habe in den letzten 5 Jahren FreeBSD Benutzung so ein
> sinnloses verhalten noch nicht gesehen.

Wenn kein Speicher (d.h. RAM + Swap) mehr verfügbar ist, um
eine Anforderung des VM-Systems zu erfüllen, beginnt auch
FreeBSD, Prozesse zu killen. Das ist natürlich doof, und
es gibt Leute, die der Meinung sind, daß es in so einem
Fall sinnvoller wäre, eine Panic und/oder einen Reboot aus-
zulösen. Aber eine richtig gute Lösung für so eine Situa-
tion gibt es leider nicht.

Die Auswahlstrategie, welche Prozesse gekillt werden, hat
sich im Laufe der Zeit mehrfach leicht geändert -- wie es
aktuell gehandhabt wird, weiß ich nicht, aber es war lange
Zeit so, daß zuerst die Prozesse mit dem größten Speicher-
bedarf gekillt wurden. Das erwischt dann halt meistens
fette Teile wie Mozilla, Gimp oder den X-Server selbst.
Aber jedenfalls nicht init(8), wie in dem Linux-Beispiel.
Das wäre nun wirklich ziemlich bekloppt. :-)

Als Admin sollte man natürlich dafür sorgen, daß so eine
Situation gar nicht erst entsteht. Dazu gehört:

1. Ausreichend Swap-Space einrichten. Dies wird leider
    häufig unterschätzt, oder mit fadenscheinigen Begrün-
    dungen abgetan. (»Die Kiste hat doch genug RAM. Die
    soll gar nicht swappen.«) So eine Einstellung zeugt
    von Unkenntnis darüber, was Swappen bzw. Pagen über-
    haupt ist.

2. Prozeßlimits einrichten (datasize, vmemoryuse usw.),
    insbesondere für solche User oder Prozesse, die dazu
    neigen, viel zu verbrauchen.

3. Eine Überwachung einrichten, die eine Alarmierung her-
    beiführt, wenn der freie Swap unter eine gewisse Grenze
    sinkt.

Gruß
   Olli

-- 
Oliver Fromme,  secnetix GmbH & Co. KG, Marktplatz 29, 85567 Grafing
Dienstleistungen mit Schwerpunkt FreeBSD: http://www.secnetix.de/bsd
Any opinions expressed in this message may be personal to the author
and may not necessarily reflect the opinions of secnetix in any way.
"I made up the term 'object-oriented', and I can tell you
I didn't have C++ in mind."
        -- Alan Kay, OOPSLA '97
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Fri 18 Nov 2005 - 18:13:55 CET

search this site