quicksilver Posted August 2, 2012 Author Report Share Posted August 2, 2012 Usare blocchi grossi non velocizzerà il processo e la frammentazione dei blocchi incide poco sul risultato, quelli difettosi dovrebbero comunque essere molto più lenti.Non parlo dei blocchi da 10MB ma del numero di volte che devo rieseguire il processo per evitare che in caso di errore debba rifare tutto da zero. Link to comment Share on other sites More sharing options...
Olaf Marzocchi Posted August 2, 2012 Report Share Posted August 2, 2012 Eh ma dimmelo subito che sistemo lo script così da non dover ripartire da zero. Però non ora. Link to comment Share on other sites More sharing options...
quicksilver Posted August 3, 2012 Author Report Share Posted August 3, 2012 Eh ma dimmelo subito che sistemo lo script così da non dover ripartire da zero.Però non ora.Cioè farlo ripartire dall'ultimo numero di file che aveva scritto?Si può fare? E quindi si potrebbe anche far si che si blocchi di proposito e riprendere da dove aveva lasciato la volta successiva senza dover creare cartelle separate? Link to comment Share on other sites More sharing options...
Olaf Marzocchi Posted August 3, 2012 Report Share Posted August 3, 2012 prima usa questo# (C) Olaf Marzocchi, 2012# blocks è il numero di blocchi da 10 MiB da scrivere nel disco nella dir corrente. Bisogna lasciare liberi alla fine almeno 115*blocchi byte in maniera che ci sia spazio per i due file output.txt e speeds.txtblocks=10count_done=0counter=0while [ $count_done -lt $blocks ]dowhile [ -e "$(printf '%06.0f' $counter).zero" ]dolet counter++doneecho "$(printf '%06.0f' $counter).zero" >> output.txtdd count=20480 if=/dev/zero of=$(printf '%06.0f' $counter).zero 2>> output.txtif [ $? -ne 0 ]; then break; filet count_done++donecat output.txt | grep 'transferred\|zero' | sed 's/.*secs (\(.*\)bytes.*/\1/' > speeds.txtpoi questo#!/usr/bin/perl -w# (C) Olaf Marzocchi, 2012use strict;my $threshold = 1e7;# 512 KiBmy $resolution = 500000;my @stats;my @damaged;$, = "\t";$\ = "\n";open (INPUT, '<', 'speeds.txt') || die "Error reading speeds.txt, $!";while (<INPUT>) { chomp($_); my $name = $_; $_ = <INPUT>; chomp; my $speed = int($_); $stats[int (($speed / $resolution) + 1)]++; push @damaged, $name if ($speed < $threshold);}close (INPUT);for (my $i = 0; $i < @stats; $i++) { $stats[$i] = 0 unless defined($stats[$i]); print $i * $resolution, $stats[$i];}$, = " \t";print "Keep these files (they contain damaged blocks), delete the others:";print @damaged;print "(none)" if (@damaged == 0);$\ = "\n";open(OUTPUT, '>', 'keep_these.txt') || die "Error reading writing 'keep_these.txt', $!";foreach my $i (@damaged) { print OUTPUT sprintf("%06.0f.zero", $i);}close(OUTPUT);Ora il primo script genera n blocchi indipendentemente dalla numerazione: parte da zero saltando i file esistenti. Se lo fai una volta farà per esempio da 0 a 99, poi se lo esegui di nuovo fa da 100 a 199.Lo interrompi con control-c se vuoi.Ogni volta viene generato il file delle velocità degli ultimi blocchi che sovrascrive i precedenti, quindi vedi tu cosa fare.Il nuovo secondo script è adattato per usare il nuovo output con numeri di file non necessariamente progressivi. Link to comment Share on other sites More sharing options...
Olaf Marzocchi Posted August 3, 2012 Report Share Posted August 3, 2012 Mi mandi una bottiglia di vino della tua zona per tutto questo? Se sei pugliese me la puoi dare di persona, contattami in chat o nell'altro sito che sai tu. Link to comment Share on other sites More sharing options...
quicksilver Posted August 3, 2012 Author Report Share Posted August 3, 2012 Con tutto quel casino diventa complicato non lo so più usare. Ho finito di fare dividendo il tutto in 12 cartelle e in totale su questo disco ci sono 7GB o poco meno di settori lenti.Sembra ottimo, inoltre sono tutti all'inizio per la maggiorparte e sparsi poi in varie aree come si può vedere quelle micro parti poco visibili in questo screen.Schermata 2012-08-03 a 12.35.16.jpgAllora non tutti i dischi hanno la stessa quantità di settori con problemi.Per il vino essendo astemio non ho nemmeno idea di quali siano quelli del friuli Link to comment Share on other sites More sharing options...
Olaf Marzocchi Posted August 3, 2012 Report Share Posted August 3, 2012 Con tutto quel casino diventa complicato non lo so più usare.Eh? ma se devi solo cambiare, come prima, il valore $threshold e il valore "blocks" (da 10 MiB).In effetti dovrei pensare a un modo per unire eventuali misure fatte a più riprese, ma penso che basti unire i file speeds.txt (ovviamente se generati da questa ultima versione degli script) senza lasciare righe vuote in mezzo e poi lanciare stats.pl.come si può vedere quelle micro parti poco visibili in questo screen.Schermata 2012-08-03 a 12.35.16.jpgAllora non tutti i dischi hanno la stessa quantità di settori con problemi.Per il vino essendo astemio non ho nemmeno idea di quali siano quelli del friuli Hai messo uno screenshot di Transmission che sta scaricando, a che serve? non ho capito.Quindi niente vino? Link to comment Share on other sites More sharing options...
quicksilver Posted August 4, 2012 Author Report Share Posted August 4, 2012 Eh? ma se devi solo cambiare, come prima, il valore $threshold e il valore "blocks" (da 10 MiB).In effetti dovrei pensare a un modo per unire eventuali misure fatte a più riprese, ma penso che basti unire i file speeds.txt (ovviamente se generati da questa ultima versione degli script) senza lasciare righe vuote in mezzo e poi lanciare stats.pl.Hai messo uno screenshot di Transmission che sta scaricando, a che serve? non ho capito.Quindi niente vino? Ma per paura che si sovrapponessero i file speed meglio usare cartelle divise e far andare il processo tranquillamente.Lo screenshot era sbagliato dolevo linkare questo ma avevo negli appunti un'altro.Schermata 2012-08-03 a 21.37.35.jpgPer il vino... se ti accontenti di uno del supermercato... Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now