On Sat, Mar 03, 2001 at 10:21:17PM +0100, Konrad Rosenbaum wrote:
Ein Kompromissloses OS gibt es nicht. Nur das Ziel des Kompromisses variiert.
Klar. Aber es gibt bestimmte Grundsätze, an den man nicht rütteln sollte.
Das erreichst Du teilweise mit fork-OOMs. Problem dabei ist: bei gegebenem RAM macht das System eher schlapp, da die OOM-Algorithmen schneller triggern. Gerade Server, die Daten ausliefern, haben die Angewohnheit Megabyte-weise Speicher zu allozieren, den sie erst später nutzen. Ausserdem starten sie haufenweise Kindprozesse, die nur einen Teil der Ressourcen nutzen. Bei einem overcommit-mem-System (malloc-OOM-System) wird das sehr lange gut gehen, da nur ein Teil der allozierten Ressourcen wirklich physisch vorhanden sein muss. Ein fork-OOM-System wird Alarm schlagen, wenn es auch nur den Verdacht eines overcommit hat: also wesentlich eher als ein overcommit-System.
Mit hoher Wahrscheinlichkeit ist ein fork-OOM-System schneller zum (scheinbaren) Stillstand zu bringen als ein overcommit-System, das dann aber spektakulärer crasht. Was für mich (mit meinen begrenzten finanziellen Ressourcen) ein verdammt guter Kompromiss ist.
Ich weiss schon was du meinst. Du liegst in deiner Argumentation genau auf einer Linie mit Torsten. Ich werde wohl mal wieder zum nächten Treffen kommen um meine Ansichtenmal etwas besser darzulegen und zu begründen.
Diese Fehlersituation (bei überlast werden keine neuen Nutzer/Jobs werden mehr angenommen) ist deutlich günstiger, als weiterhin Jobs anzunehmen, die aber auf halbem Weg zum Ziel abgebrochen werden müssen.
Der Effekt für den User ist der selbe: keine Antwort auf Fragen.
Jaja, nur kannst du nicht nur den Effekt für den Nutzer als einzig erkennbaren Effekt als wichtig bewerten. Beispiel: Zwei neue Autos. Beide bleiben nach genau 500 km stehen. Effekt für beide Fahrer gleich: Auto fährt nicht mehr. Nur ist das eben nicht alles, denn: Bei Auto 1 ist das Benzin alle (Fahrer zu doof zum Tanken, genau wie man als Programmierer zu doof sein kann). Auto 2 ist völlig auseinandergefallen und schrottreif. Ich halte das schon für einen Unterschied, obwohl beide Autos den gleichen Fehler haben (nicht mehr zu fahren)
Bitte versteh' mich jetzt nicht falsch: rein technisch ist ein fork-OOM-System auf einem kritischen System vorzuziehen, da die
Aha, das wollte ich hören .... und da du trotzdem das linuxsche Verhalten verteidigst heisst das: Für dich gehören nur unkritische Sachen auf Linuxrechner. Und das ist der Punkt zu sein, an dem unsere Ansichten auseinander laufen.
Wahrscheinlichkeit eines katastrophalen DB-crashs und halbfertigen Transaktionen geringer ist (ich schätze ca. 20-25%). Rein praktisch habe ich bisher Solaris immer als anfälliger als Linux erlebt (mein subjektiver Eindruck, ich kann ihn nicht mit Daten unterlegen).
Wenn es *nur* ums Thema Stabilitaet geht, bin ich der letzte, der Slowlaris- Bashing betreiben würde. Ich muss irgendwann mal was zu Slowlaris rausgehauen haben, wodurch ich bei einigen in der LUG als ein Fan dieses Systems verschrien bin. Dem ist, was das Gesamtsystem betrifft, nicht so :-)
Zum Speicherthema kann man ja ganz einfach Linux und NichtLinux unterscheiden und muss sich nicht auf spezielle OSe beziehen.
Reinhard