Sign in to follow this  
quicksilver

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

Recommended Posts

Ok una volta creata la cartella contenente check_bad.sh e stats.pl la metto nel disco che voglio testare e avvio con sudo lo script da li?

Se non parte per via dei permessi li devo modificare immagino...

Altri parametri da usare? O va bene farlo partire così e fine?

Share this post


Link to post
Share on other sites

Non serve sudo!

basta fare:

sh check_bad.sh

perl stats.pl

Nel primo script c'è scritto blocks=100, quindi sono 100 file da 10 MB (verifica che sia così), quindi 1 GB. Devi cambiare il numero in base alle tue esigenze. Calcola in base allo spazio libero meno 30 MB.

Share this post


Link to post
Share on other sites

Non serve sudo!

basta fare:

sh check_bad.sh

perl stats.pl

Nel primo script c'è scritto blocks=100, quindi sono 100 file da 10 MB (verifica che sia così), quindi 1 GB. Devi cambiare il numero in base alle tue esigenze. Calcola in base allo spazio libero meno 30 MB.

Hai ragione scusa non ci avevo fatto caso perchè ho letto con poca attenzione.

Lo sto facendo fare su un disco esterno che ho svuotato appositamente e per prova ho lasciato il solo GB.

Mi genera tutti i file da 10MB però poi non mi si apre lo script in perl perchè mi dice che c'è un errore di sintassi, dove sbaglio?

Ho riprovato ora e mi da questo errore

/Volumes/LaCie Brick 300GB/script shell/stats.pl: line 4: use: command not found

/Volumes/LaCie Brick 300GB/script shell/stats.pl: line 6: my: command not found

/Volumes/LaCie Brick 300GB/script shell/stats.pl: line 8: my: command not found

/Volumes/LaCie Brick 300GB/script shell/stats.pl: line 10: syntax error near unexpected token `INPUT,'

/Volumes/LaCie Brick 300GB/script shell/stats.pl: line 10: `open (INPUT, '<', 'speeds.txt') || die "Error reading speeds.txt, $!";'

Share this post


Link to post
Share on other sites

Ci sono riuscito funziona.

Però non capisco una sola cosa...

Affianco alla lista dei settori ci sono dei numeri, per la maggiorparte sono degli 0 ma su alcuni c'è il numero 42 o 6 ecc. quei numeri a cosa corrispondono?

Se dopo la scritta Keep these files non compare niente vuol dire che tutti i settori analizzati sono a posto?

C'è inoltre un parametro nello script per modificare la soglia di velocità per cui un settore viene evidenziato come difettoso?

Share this post


Link to post
Share on other sites

Come ho scritto sopra, se copi e incolli la lista in Excel ci puoi fare un grafico. I numeri servono per tracciare il grafico.

Se non compare nulla nella lista vuol dire che tutti superano il limite di velocità impostato come scritto all'inizio: cambia $threshold che è il limite in byte/s. Ma prima guarda il grafico per capire quale è il valore da impostare.

Share this post


Link to post
Share on other sites

Come ho scritto sopra, se copi e incolli la lista in Excel ci puoi fare un grafico. I numeri servono per tracciare il grafico.

Se non compare nulla nella lista vuol dire che tutti superano il limite di velocità impostato come scritto all'inizio: cambia $threshold che è il limite in byte/s. Ma prima guarda il grafico per capire quale è il valore da impostare.

Allora faccio lo schema usando speed.txt per vedere qual'è la media di velocità e individuare i cali, in base a questi stabilisco il treashold, e poi quando mi compaiono quei valori vuol dire che corrispondono ai settori lenti giusto?

Ma continuo a non capire cosa sono i valori che compaiono a terminale vicino ai settori scritti. Sono direttamente la corrispondenza col numero di file in output?

Ad esempio vorrebbe dire che il file 39 lo devo lasciare sul disco perchè è stato scritto lentamente?

Tipo così:

17301504 0

17825792 0

18350080 0

18874368 0

19398656 0

19922944 0

20447232 0

20971520 1

21495808 0

22020096 0

22544384 0

23068672 0

23592960 4

24117248 3

24641536 4

25165824 12

25690112 39

EDIT: No perchè il valore compare sotto dove sospettavo. Quindi rimane solo la curiosità di capire che valori sono quelli :)

Share this post


Link to post
Share on other sites

Sono le velocità di scrittura e nella colonna di destra è il numero di blocchi che ricade tra il numero della prima colonna e quello corrispondente della riga prima.

Nel tuo caso su circa 70 blocchi solo uno è più lento, ma è comunque veloce a sufficienza (20 MB/s). Il limite per definire i blocchi difettosi non dovrebbe essere più alto di 10 MB/s, anche perché un tale valore può dipendere da rallentamenti temporanei di altro tipo nel computer in uso.

Fai una prova sull'intero disco fisso e poi vediamo cosa ne esce fuori come grafico.

Quei numeri non c'entrano nulla con i nomi file da tenere o cancellare.

Share this post


Link to post
Share on other sites

Bene se non centrano li ignoro. Ho usato il programma su 40GB libero del disco e funziona. L'ho impostato a 4MB al secondo e mi ha trovato i file scritti sotto questa velocità. Però cancellandoli e scrivendoci sopra sono lente solo alcune parti, o meglio c'è un momento per cui scrivere su queste aree sembra impossibile ed il file è fermo inchiodato poi parte a razzo, si vede che facendo una media tra tempi morti e velocità a palla ha determinato che i file erano scritti su settori danneggiati, però effettivamente ci sono file da 10MB scritti su settori ancora più problematici.

Si potrebbe usare lo stesso principio per determinare non tanto la velocità totale ma la latenza di accesso?

Cmq complimenti davvero per il programma è una figata oltre che utilissimo!

Share this post


Link to post
Share on other sites

I file lenti non devono essere cancellati, sono da lasciare lì per tenere immobilizzate le zone lente del disco fisso.

La latenza richiede altri metodi, non saprei come fare.

Ahah Olaf non hai capito una parola di quello che ho scritto :)

È ovvio che vanno mantenute li senza cancellarle ma per verificare che fossero effettivamente su aree lente ho eseguito questa procedura, col disco pieno sia di aree lente che veloci le ho divise in due cartelle, poi ho copiato 500MB di aree veloci dal disco al Mac, e riportate nella cartella delle veloci e ha scritto velocemente, poi ho fatto la stessa cosa con le aree lente e non tutte erano poi così lente, c'è un fermo e poi buona parte è stata scritta veloce.

Per quello ti chiedevo se piuttosto che un test sulla velocità era possibile fare lo stesso processo ma con le latenze, in ogni caso è già utilissimo così e ti ringrazio. Mi hai risparmiato un sacco di tempo dato che una volta impostati i parametri è praticamente tutto automatizzato.

Share this post


Link to post
Share on other sites

Ciao Olaf sei riuscito a modificare lo script come parlavamo?

Sostituisci le ultime due linee con "print..." con le seguenti:

$, = "     \t";print "Keep these files (they contain damaged blocks), delete the others:";print @damaged;$, = "\n";open(OUTPUT, '>', 'keep_these.txt') || die "Error reading writing 'keep_these.txt', $!";print OUTPUT @damaged;close(OUTPUT);

e rieseguilo.

Ho cambiato la visualizzazione dei file da eliminare rendendola più compatta (non sono più uno solo per riga) e ho generato un file "keep_these.txt" con la lista completa.

Se non hai errori fammi vedere cosa ne esce (taglia via la lista di file da cancellare, non mi interessa) e ti dico come procedere.

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