Sign in to follow this  
quicksilver

Disco WD Elements Desktop (WDBAAU0020HBK) problemi e comportamenti inspiegabili lento

Recommended Posts

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.

Share this post


Link to post
Share on other sites

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?

Share this post


Link to post
Share on other sites

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.txt

poi 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.

Share this post


Link to post
Share on other sites

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.jpg

Allora 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 :D

Share this post


Link to post
Share on other sites

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.jpg

Allora 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 :D

Hai messo uno screenshot di Transmission che sta scaricando, a che serve? non ho capito.

Quindi niente vino? :(

Share this post


Link to post
Share on other sites

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.jpg

Per il vino... se ti accontenti di uno del supermercato... :)

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this