La velocità di scrittura NTFS è molto lenta (<15 MB / s) su Ubuntu


18

Quando si copiano file di grandi dimensioni o si testano la velocità di scrittura dd, la velocità di scrittura massima che posso ottenere è di circa 12-15 MB / s su unità che utilizzano il file system NTFS. Ho testato più unità (tutte connesse tramite SATA) che hanno ottenuto una velocità di scrittura di 100 MB / s + su Windows o formattata con ext4, quindi non è un problema di allineamento o di unità.

topmostra un elevato utilizzo della CPU per il mount.ntfsprocesso.

Processore AMD dual core (2,2 GHz)
Versione kernel: versione 3.5.0-23-generic
Ubuntu 12.04
ntfs-3g: entrambe 2012.1.15AR.1(versione predefinita Ubuntu) e2013.1.13AR.2

Come posso correggere la velocità di scrittura?


Hai provato a provare dd con accesso all'unità non elaborato (sull'unità o sulla partizione, non importa)? Nota che testare in questo modo distruggerà il filesystem e perderà tutti i dati su di esso. Eviterà del tutto i driver NTFS.
Bob,

Sì, l'ho appena fatto, il risultato è 149MB/s.
Zulakis,

Solo per curiosità devo chiederti se questa unità è una di quelle unità 4K e se quindi il tuo filesystem potrebbe non essere allineato in qualche modo ?!
Waxhead,

4
Credo che la versione gratuita di NTFS-3G sia paralizzata in modo da utilizzare 4 scritture KiB senza memorizzazione nella cache, causando prestazioni di scrittura estremamente lente su SSD e unità USB. La compagnia dietro l'autista suggerisce di acquistare la versione commerciale per prestazioni migliori. A quanto pare nessuno si preoccupa abbastanza per risolvere effettivamente (e se necessario, fork) la versione open source perché questo problema esiste da quasi un decennio, da quando NTFS-3G è stato rilasciato per la prima volta.
Tronic,

1
Con lo stesso laptop Ubuntu 2015.04, ho formattato su NTFS un disco rigido esterno da 320 GB e una chiavetta USB da 32 GB. La copia di 2 GB di foto nel primo è stata eseguita per sempre (circa 6 ore rimanenti dopo 30 minuti), ma al secondo (chiavetta USB) sono bastati solo un minuto o due. Non ho modificato alcuna impostazione tra i due.
Nicolas Raoul,

Risposte:


18

Un post precedente era sulla strada giusta con il riferimento fornito:

forse controlla qui le idee su cosa potrebbe causarlo. http://www.tuxera.com/community/ntfs-3g-faq/#slow

La domanda originale menziona il problema con trasferimenti di file di grandi dimensioni. Nella mia esperienza con la copia di file multimediali o l'esecuzione di backup, l'opzione chiave nelle Domande frequenti sopra era:

Soluzione alternativa: l'utilizzo dell'opzione di montaggio "big_writes" generalmente riduce l'utilizzo della CPU, a condizione che il software che richiede la scrittura supporti blocchi di grandi dimensioni.

Aggiungi semplicemente l'opzione big_writes, ad es

sudo mount -o big_writes /media/<mount_dir> /dev/<device>

Il mio NAS Linux con una CPU a bassa specifica ora gestisce scritture di file NTFS di grandi dimensioni circa tre volte più velocemente. È migliorato da ~ 17 MB / sa 50 MB / s +. Ho anche visto sbirciare a circa 90 MB / s in iotop che è probabilmente vicino alla capacità delle unità esterne (un HDD USB3 da 2,5 ").

Dalla pagina man NTFS-3G:

 big_writes
              This option prevents fuse from splitting write buffers  into  4K
              chunks,  enabling  big  write buffers to be transferred from the
              application in a single step (up to some system limit, generally
              128K bytes).

Note di chiusura:

  • l'opzione big_writes probabilmente non aiuterà un benchmark di scrittura casuale 4K ;-)
  • Mentre Tuxera sembra riservare il driver NTFS pro ai partner di sistema incorporati, Paragon offre un driver NTFS gratuito per uso personale chiamato NTFS & HFS per Linux 9.0 Express e una versione professionale. Tuttavia, non garantisco questo prodotto e quando ho provato una versione precedente (v8.5), al momento non sono riuscito a farlo funzionare con la mia versione del kernel Linux.

L'opzione big_writes ha fatto andare il mio disco da 300kb / sa 35mb / s! Grazie!
JosFabre,

10 personaggi hanno fatto la differenza, grazie mille!
João Miguel Brandão,

big_writesè stato deprecato nel 2016, tuttavia, 3 anni dopo, alcune distribuzioni utilizzano ancora una versione ancora più vecchia di libfuse.
Dmitry Grigoryev

2

forse controlla qui le idee su cosa potrebbe causarlo. http://www.tuxera.com/community/ntfs-3g-faq/#slow

Questo suona un po 'come ai "vecchi tempi" quando il file io non utilizzava DMA per impostazione predefinita. In questi giorni è improbabile, ma il BIOS utilizza l'emulazione IDE per le unità SATA? Perché se emula IDE, potrebbe anche emulare anche la modalità non DMA.

Un altro potenziale rallentamento è se la compressione dei file NTFS. La compressione è abilitata nella cartella in cui stai scrivendo? In tal caso, verranno compressi anche tutti i nuovi file in quella cartella.


Come posso verificare se utilizza DMA? A parte questo, ho già provato tutti i suggerimenti sulla pagina.
Zulakis,

Uhm, da quello che ho letto, DMA è rilevante solo per le unità IDE? Sto usando solo unità SATA.
Zulakis,

Secondo en.wikipedia.org/wiki/Serial_ATA#Transport_layer sembra che DMA sia l'unica opzione per SATA. Scopriamo se il suo bios sta usando l'emulazione ide
BeowulfNode42

0

Questo è un vecchio thread, ma per le persone che cercano una soluzione allo stesso problema: hai cpuspeed attivo? ntfs-3g è affamato di CPU e nel mio caso cpuspeed ha erroneamente rilevato un carico basso per processi con molte attese di I / O, infine rallentando il core e morendo di fame il driver.

Prova a disabilitare cpuspeed (se ad esempio è in esecuzione come servizio) e prova di nuovo.


Come posso determinare se cpuspeed è attivo? È un demone o un'impostazione?
Daniel,

0

big_writesè stato deprecato nel 2016, il comportamento corrispondente è sempre abilitato quando si utilizza la libfuseversione 3.0.0 o successive. Su un moderno sistema Linux, le scarse prestazioni NTFS di solito significano che:

  • il disco è frammentato
  • La compressione del disco NTFS è abilitata
  • syncvengono utilizzate opzioni di montaggio inadeguate come

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.