Ho un eeePC 900a: ha un flash da 8 GB come disco e solo 1 GB di RAM. La distribuzione Linux installata su di essa è ArchLinux.
Quando il sistema esaurisce la memoria, non risponde molto : ci vogliono diversi secondi / minuti per fare cose come passare a TTY1 o persino spostare il puntatore del mouse. A volte sembra che il sistema si blocchi: tre nostri fa l'ho lasciato da solo e finora nulla è cambiato.
Preferirei evitare di creare una partizione / file di swap su questo eeePC poiché il disco è già così piccolo, e anche perché le molte scritture sullo spazio di swap ridurrebbero molto la durata della flash card. Inoltre, penso che un file / partizione di swap possa spostare il problema, anziché risolverlo definitivamente.
Il kernel non dovrebbe uccidere alcune applicazioni casuali quando esaurisce la memoria? Perché fallisce (o impiega anni) a farlo?
Alcuni mesi / anni fa ho già cercato di approfondire questo aspetto, ma non sono riuscito a trovare nulla che potesse effettivamente funzionare ...
while(true){ if( $FREE_MEMORY<10MB ){ kill -9 $RANDOM_PID; } }
. Ciò risolverebbe sicuramente il mio problema. Ma aspetta, il kernel non dovrebbe farlo (e in un modo molto migliore del mio script)? Perché non sta facendo il suo lavoro?