Ho acquistato oggi una pennetta USB che mi sta dando un problema che ho
avuto diverse volte in passato. Al momento non so se sia riconducibile
alla marca (in questo caso, "Verbatim"), alla formattazione o a cosa.
Copio file abbastanza grandi, 500MB-1GB. La cosa procede rapidamente,
sullo schermo posso aprire un righello dove appare la velocita' e i
secondi rimanenti. Arrivato alla fine, quando mancano 0 Byte, la
procedura si blocca per mezz'ora o anche di piu'. Solo a quel punto
sparisce il righello, la data diventa quella del file originale e non
quella di copiatura e il file e' integro. Se provo a scollegare prima
la chiavetta appare il messaggio "operazione in corso. Attendere."
Quasi certamente c'e' sia un motivo sia una soluzione rapida. Qualcuno
mi puo' aiutare? Grazie!
Capita spesso anche a me.
m2c : o la chiavetta o la porta USB o entrambe ?e/sono lenta/e;
l'avanzamento della barra corrisponde alla scrittura effettuata dal sistema
nel buffer che viene inserito [ dal sistema ] nel percorso di scrittura; la
scrittura però è completata solo quando è riversata 100% sul dispositivo;
il tempo di attesa al 99% corrisponde allo scaricamento del buffer.
Se la chiavetta hai tenuto formattata dal produttore potresti riformattare.
Nei tentativi mi sono imbattuto in un aspetto che non conoscevo. Il
problema e' dell'interfaccia grafica. Se la copiatura di un file prende
10 minuti l'interfaccia indica la copiatura del file nel buffer in una
dozzina di secondi, il file e' copiato dopo dieci ma l'operazione si
conclude correttamente dopo un'ora, quando viene indicato anche il
timestamp originale. Durante tutto questo periodo il file resta aperto
e se cerco di forzare la chiusura il file diventa corrotto e
inservibile.
Al contrario, con 'cp' da linea di comando l'operazione prende dieci
minuti. Il timestamp del file sulla chiavetta diventa quello della sua
nuova creazione, non quello originale.
Come già descritto, i buffer svolgono un ruolo importante nei terminali
lenti, che sono per lo più desiderati.
Non si può mai scrivere più velocemente di quanto permetta l'HW. I
buffer consentono di terminare il programma di copia, cioè di non
bloccare l'input, mentre l'espulsione della chiavetta è possibile solo
al termine del processo di copia.
Per non prolungare ulteriormente il processo di copiatura, si consiglia di
- non copiare mai molti dati tramite l'interfaccia grafica.
- Provare diverse interfacce usb fino a trovare quella più veloce.
- Se si copia con rsync -a destinazione sorgente, gli attibuti della
sorgente vengono ripresi. È simile a cp -a, ma non è altrettanto efficiente.
No il problema non è nell'interfaccia grafica, cioè l'interfaccia
grafica ti ritorna la barra di stato relativa alla "copia" del file, che
procede proprio come vedi.
Puoi verificarlo anche aprendo un terminale e dopo che è arrivato al 99%
nella copia, scrivere "sync"[^1] e invio; il tempo che ci mette a
tornare al terminale dopo il comando è il tempo che serve al sistema
operativo per forzare la scrittura di tutti i file buffer di file tra
memoria "cache" e media fisico; essendo le USB (soprattutto USB2) molto
lente, parliamo di decine di secondi o minuti con file molto grandi.