Hallo, On Mon, 25 Feb 2002, Stefan Heinrichsen wrote:
Allerdings Ist danach eine neue Frage aufgekommen: Wenn der Konqueror wie beschrieben vom Kernel gekillt wurde, war auf einmal wieder RICHTIG VIEL Speicher frei! Soviel Speicher krieg ich nie frei, nichtmals frei, wenn ich blankes fvwm2 starte (ohne irgendein Programm zu öffnen). Wie krieg ich sowas manuell hin?
Ganz einfach: du willst das eigentlich nicht. Normal wird ein Gross- teil des freien Speichers als Plattencache verwendet. Bei mir gerade z.B.: $ free total used free shared buffers cached Mem: 319892 311376 8516 0 83256 157260 -/+ buffers/cache: 70860 249032 Swap: 393548 26792 366756 also ca. 155 MB sind gerade Plattencache (Spalte "cached"). Und "buffers" ist IIRC auch "gut belegter" Speicher. Wirklich relevant ist also die Angabe hinter '-/+ buffers/cache:'. Praktisch habe ich also gerade ca. 245 MB frei :)) Wenn dir aber nun ein wildgewordener Prozess den Speicher vollknallt, und also quasi endlos Speicher anfordert, dann wird als erstes der Plattencache/die "buffers" "freigegeben" und dem Prozess zugeteilt... Wird nun der Amok-laufende Prozess gekillt, dann ist natuerlich (immernoch) der Cache frei, und, auf einmal hast du alles, was "normal" als Plattencache (oder "buffers") verwendet werden wuerde als "freien Speicher"... Um sowas manuell zu machen gibt's natuerlich Moeglichkeiten (z.B. 'while(malloc(...)) oder so aehnlich)... Aber wie gesagt: DAS WILLST DU GARNICHT! *bg* -dnh PS: Ich wuerde mal dein KDE2 updaten, falls es nicht die aktuelle Release ist (oder wie ich konqui garnicht verwenden)... Eine App, die wg. einer "kaputten" config-datei so Amok laeuft gehoert von der Platte verbannt... Besonders, da KDE und QT ja in C++ implementiert sind spricht ein solches Verhalten fuer (einen?) groben Fehler... *brrr* Ne, also KDE 1.1.2 war ja noch gut, aber was ich so von KDE2 lesen muss und was ich selbst "erfahren" habe... -- The things you have to do to have kids are fine, and I'll take as much of that as I can get, but the actual kids themselves?" -- Matt McLeod