Ich habe einen eeePC 900a: Er hat einen 8 GB Flash als Festplatte und nur 1 GB RAM. Die darauf installierte Linux-Distribution ist ArchLinux.
Wenn das System von Speichern abläuft wird es extrem reagiert: es einige Sekunden / Minuten in Anspruch nimmt , Dinge zu tun wie zu TTY1 Schalten oder sogar den Mauszeiger zu bewegen. Manchmal sieht es so aus, als würde das System einfach einfrieren: Vor drei Jahren habe ich es in Ruhe gelassen und bis jetzt wurde überhaupt nichts geändert.
Ich würde lieber vermeiden, eine Swap-Partition / -Datei auf diesem eeePC zu erstellen, da die Festplatte bereits so klein ist und auch, weil die vielen Schreibvorgänge auf dem Swap-Platz die Lebensdauer der Flash-Karte erheblich verkürzen würden. Außerdem denke ich, dass eine Auslagerungsdatei / -partition das Problem nur verschieben würde, anstatt es definitiv zu beheben.
Soll der Kernel nicht zufällige Anwendungen beenden, wenn der Arbeitsspeicher knapp wird? Warum scheitert das (oder dauert es ewig)?
Vor ein paar Monaten / Jahren habe ich bereits versucht, dies weiter zu untersuchen, konnte aber nichts finden, was tatsächlich funktionieren würde ...
while(true){ if( $FREE_MEMORY<10MB ){ kill -9 $RANDOM_PID; } }
. Dies würde definitiv mein Problem beheben. Aber warte, soll der Kernel das nicht tun (und das weitaus besser als mein Skript)? Warum macht es seinen Job nicht?