Alle lunedì 4 febbraio 2008, mortimer ha scritto: > Davide Mancusi ha scritto: > > mortimer ha scritto:
> ho un processo (amule) che tende (in maniera non riproducibile) a memory > leak spaventosi, in pratica arriva ad occupare tutta la ram disponibile Questo dovrebbe funzionare, metti i valori che vuoi in sleep e nella quantità di swap che vuoi tenere libera; ovviamente cambia come ti serve il path ai file. Non è testato nel -15 per il restart e nel wait relativo. Non l'ho ancora visto in funzione a causa di amule, ma tant'è, in test funziona. Se può aiutarti a capire perché e come amule salta fai una mail in lista che magari se ne viene a capo. Ogni miglioramento (facile, visto la mia poca dimestichezza con bash) è ben gradito. #/bin/sh # ricorda che killall -15 amule wait swap_test=1000000 rm /home/alex/.aMule/*Lock amule & var1="c" while [ "$var1" = "c" ] do sleep 10 prova=$(free) echo $prova >> /home/alex/Desktop/loggo echo ' ' >> /home/alex/Desktop/loggo for swap_lev in $prova; do : done echo " \n/n" >> /home/alex/Desktop/loggo echo "$swap_lev $swap_test" >> /home/alex/Desktop/loggo echo " \n/n" >> /home/alex/Desktop/loggo ps -ef | grep /amule | grep -v grep >> /home/alex/Desktop/loggo if [ $swap_lev -lt $swap_test ];then echo ' ' >> /home/alex/Desktop/loggo echo "killo" >> /home/alex/Desktop/loggo echo ' ' >> /home/alex/Desktop/loggo killall -15 amule wait rm /home/alex/.aMule/*Lock echo "qui rilancio: " >> /home/alex/Desktop/loggo prova=$(free) echo $prova >> /home/alex/Desktop/loggo cp /home/alex/Desktop/loggo /home/alex/Desktop/loggo.crash #swap_test=1000000 amule & fi #((swap_test= swap_test + 100000)) prova=$(tail --bytes=12000 /home/alex/Desktop/loggo) echo $prova > /home/alex/Desktop/loggo done exit 0