'nabend/'morgen
Moment, meinst Du "Speicherschutz"? Der sorgt dafür, dass Prozess A nicht auf den Speicher von Prozess B kommt. Das löst aber das Problem nicht: der Speicher ist voll.
Ich meine nicht Speicherschutz, sondern ich meine, daß ein Prozeß nicht gekillt werden soll, weil der Speicher alle ist. Wenn ein Prozess läuft und jetzt kommt ein neuer Prozess, der irgend was wildes mit dem Speicher anstellt (ob absichtlich oder nicht spielt keine Rolle), dann besteht die Chance das der erstere Prozess baden geht. Das ist unhaltbar.
Problematisch in OOM-Situationen ist: wie entscheide ich, wer der Böse ist.
Was ist ein böser Prozess? Einer der Speicher will? Na so ein schlimmer... ;-)
Du kaufst dir eine 10 Gig SCSI-Festplatte (ein SCSI-Anschluß ist im Gegensatz zu IDE bei teureren Systemen meines Wissens meistens vorhanden). Kosten: So um die 1000,- (großzügig kalkuliet). Für deinen Webserver oder was auch immer hast du allerdings normalerweise soviel Geld ausgegeben, daß dich das bißchen nicht mehr juckt. Dafür hast du aber jetzt 10 Gigabyte Swap zusätzlich zum Einbinden. Wenn dein Server z.B. normalerweise mit 1 Gigabyte RAM läuft, sollte das erstmal für eine Weile reichen.
Genau! Die im Linux anvisierte Situation tritt gar nicht erst ein.
Wesentlich billiger wirds natürlich mit IDE.
Darüber kann man sicher streiten ;-)
Das war nur so schön einfach. Jeder andere Server geht auch, nur ist es da meist nicht so schlimm, weil im Intranet kaum jemand mutwillig angreift - der Server muss nicht vollkommen überdimensioniert werden.
Und was ist, wenn bei einem Datenbankserver ein Skript plötzlich durchknallt und einen gigantischen select macht? Speicher alle => schade eigentlich, jetzt darfst du deine Datenbank neu starten. Das war glaub ich auch der Auslöser bei der ersten Diskussion zu diesem thema hier gewesen.
Genau. Außerdem: Speicherlast auf einem Webserver ist nicht proportional zur Netzlast (man "dynamische Inhalte").
Warum nicht zur Compilezeit einstellen, das ich kein Overcommit will, dann frißt das auch keine Zyklen weiter...
...und wenn der erste Prozess "no overcommit" anfordert fängt der Kern an seine Pages zu zählen...
So hab ich das natürlich nicht gemeint.
Kernel-Option ist besser (weil konsistenter und einfacher).
Ich glaub, er hat eine Kerneloption gemeint.
Sondern so.
Bitte Den langen Text oben zweimal lesen, einen Moment drüber meditieren und dann erst meckern... ;-)
...mecker. ;-)
zurückmecker :)
Ziegenstall?
Gruß, Eric