Rallentamento delle prestazioni durante la copia di file da e verso dispositivi USB


11

Quando copio file da e verso dispositivi USB (fotocamera, HDD, scheda di memoria) il mio sistema diventa molto lento. Ad esempio, se voglio chiudere una finestra, muovo il mouse ma ci vogliono circa 2 secondi o più prima che il cursore del mouse si sposti. Quando finalmente ottengo il cursore sopra la x e faccio clic, non succede nulla per più di 10 secondi. Ho provato questo con tutti gli effetti desktop disabilitati ma il problema persiste.

Software: Linux Mint 9 Hardware KDE:

  • Scheda madre ASUS SLI
  • GPU NVidia 6600
  • Ram da 2 GB
  • Scambio 2 GB
  • AMD Athlox X2 @ 3800+

Per me questo hardware non dovrebbe avere problemi nell'esecuzione di questo software e non lo è fino a quando non copio i file tramite USB. Dove dovrei iniziare a cercare di capirlo? Penso che il driver grafico possa far parte del problema, ma non lo so per certo.


2
verificare che le porte USB siano compatibili con USB 2.0. alcune porte USB, in particolare sulla parte anteriore dei desktop, erano solo USB 1.0. Verifica inoltre che le impostazioni del BIOS siano ottimali per le prestazioni USB. Potrebbero esserci alcune impostazioni di velocità USB e / o impostazioni legacy USB che potrebbero influire sulle prestazioni.
Tim Kennedy,

Il dispositivo è formattato come NTFS? Se lo è, proverei a riformattarlo come FAT32 (o EXT4 se hai intenzione di usarlo solo su Linux).
RobinJ,

3
Sembra che ci sia un problema con enormi pagine nella gestione della memoria di Linux . Si verifica raramente, ma sembra che tu l'abbia osservato.
artistoex,

@artistoex - Quell'articolo riassume completamente il comportamento che stavo vivendo. Peccato che non ci sia una soluzione concreta. Qualcuno sa se questo è stato risolto nelle versioni successive? Tempo per un aggiornamento comunque.
Giovanni

come dice l'articolo, ricompila il tuo kernel con la funzionalità trasparente delle pagine enormi disabilitata.
artistoex,

Risposte:


7

Sembra che ci sia un problema con enormi pagine nella gestione della memoria di Linux . Si verifica raramente, ma sembra che tu l'abbia osservato.

Causa

Questo è il mio resoconto grossolanamente semplificato di ciò che, secondo l'articolo, accade.

Se sfortunato, un processo si blocca nel momento in cui emette un accesso alla memoria. Questo perché quando sono abilitate pagine enormi trasparenti, un accesso alla memoria può attivare la compattazione sincrona (deframmentazione della memoria principale), il che significa che l'accesso alla memoria non termina prima della compattazione. Questo di per sé non è una brutta cosa. Ma se il writeback (di, ad esempio, i dati bufferizzati su USB) avviene contemporaneamente, è probabile che la compattazione a sua volta si blocchi, in attesa del termine del writeback.

Pertanto, qualsiasi processo potrebbe finire per attendere che un dispositivo lento termini la scrittura dei dati bufferizzati.

Cura

L'aggiornamento della memoria principale, come ha fatto l'OP, potrebbe aiutare a ritardare il problema. Ma per coloro che non lo considerano un'opzione, ci sono due ovvie soluzioni alternative. Entrambi implicano la ricompilazione del kernel:



0

L'unico trucco che ho trovato che funziona davvero: Gnome, nautilus copia i file su USB si ferma al 100% o quasi

Se si desidera provare alcuni trucchi per utenti esperti, è possibile ridurre le dimensioni del buffer utilizzato da Linux impostando / proc / sys / vm / dirty_bytes su qualcosa come 15728640 (15 MB). Ciò significa che l'applicazione non può ottenere più di 15 MB prima del suo effettivo progresso.

Un effetto collaterale è che il tuo computer potrebbe avere un throughput di scrittura dei dati più basso con questa impostazione, ma nel complesso trovo utile vedere che un programma è in esecuzione da molto tempo mentre scrive molti dati rispetto alla confusione di avere un il programma sembra terminato con il suo lavoro, ma il sistema è in grave ritardo mentre il kernel fa il vero lavoro. L'impostazione di dirty_bytes su un valore ragionevolmente piccolo può anche aiutare a evitare che il tuo sistema non risponda quando sei a corto di memoria libera ed esegui un programma che improvvisamente scrive molti dati.

Ma non impostarlo troppo piccolo! Uso 15 MB come stima approssimativa che il kernel può scaricare il buffer su un normale disco rigido in 1/4 di secondo o meno. Mantiene il mio sistema "ritardato".

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.