Kopieren grote files erg traag*

Pagina: 1
Acties:

  • Palomar
  • Registratie: Februari 2000
  • Niet online
Weet iemand hoe het komt als ik onder Ubuntu 8.04 een paar grote bestanden van mn homedir naar een NTFS-partitie wil moven dat dit met slechts 3.5MB per seconde gaat...?

hdparm -tT geeft:

code:
1
2
3
/dev/sda:
 Timing cached reads:   988 MB in  2.00 seconds = 493.49 MB/sec
 Timing buffered disk reads:  158 MB in  3.05 seconds =  51.85 MB/sec

Hij zou dus sneller moeten kunnen... :S

[edit] en dit gebeurt trouwens ook als ik een bestand binnen mn homedir (dus ext3) kopieer naar een andere map. Het ligt dus niet specifiek aan NTFS.
Ik kopieer met Gnome (ctrlc ctrl v).

Vanf een usb stick gaat het ook gewoon snel (25MB/s). Het is alleen binnen dezelfde schijf.

[ Voor 27% gewijzigd door Palomar op 01-08-2008 21:26 ]


  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 28-01 16:23

deadinspace

The what goes where now?

Palomar schreef op dinsdag 29 juli 2008 @ 21:46:
Weet iemand hoe het komt als ik een paar grote bestanden van mn homedir naar een NTFS-partitie wil moven dat dit met slechts 3.5MB per seconde gaat...?
Als je binnen één schjif kopieert, dan moet hij van dezelfde schijf lezen èn schrijven, wat de (read-only) snelheid die hdparm laat zien sowieso al halveert. Daarnaast moet er nog metadata van/naar het filesystem gelezen en geschreven worden (waar de blocks van je files staan enzo). Bij dit alles moet op verschillende plaatsen op de harddisk geschreven en gelezen worden, wat ook betekent dat de disk regelmatig moet seeken, wat de performance verder drukt.

Die 50 MB/sec van hdparm ga je dus nooit halen met zo'n kopieer-actie, maar 3.5 MB/sec is wel erg laag. Als ik wat files van 1 à 2 GB kopieer binnen hetzelfde filesystem (ext3, nForce2 chipset, anticipatory I/O scheduler), dan zie ik rond de 16 MB/sec, wat me gevoelsmatig redelijk gemiddeld lijkt.

Het kan zijn dat NTFS lezen/schrijven vanuit GNU/Linux duidelijk trager is. Wat zijn de snelheden die je haalt als je een file binnen hetzelfde (ext3) filesystem kopieert, bijvoorbeeld met een van de volgende twee commando's?
time cp eenfile /tmp/testfile1
dd if=/eenfile of=/tmp/testfile1 bs=4K

Gebruik het liefst een file die niet gecached is (dus die niet of heel lang geleden gelezen is sinds je laatste boot)

  • monnick
  • Registratie: December 2005
  • Niet online
He, ik heb hetzelfde probleem!

Wanneer ik grote bestanden (4,7 Gb) naar van mijn lokale EXT3 schijf naar mijn externe HDD (NTFS) kopieer gaat dat in het begin gewoon snel (15 Mb/s) maar na een tijdje, wanneer de transfer over de helft is gaat het tergend langzaam. De transferspeed neemt af naar 1-2 Mb/s en die neemt niet meer toe. Dit zorgt ervoor dat het meer dan 15 minuten duurt op een bestand van 4,7 Gb naar mijn externe schijf te kopieren. Erg storend dus.

Verder doet het probleem zich niet voor bij bestanden kleiner dan 2 Gb en bij heel veel losse bestanden die samen groter zijn dan bijv. 5 Gb heb ik er ook geen last van.

Mijn SWAP partitie is trouwens groot genoeg voor zover ik weer (3 Gb of zo?)

  • Palomar
  • Registratie: Februari 2000
  • Niet online
deadinspace schreef op dinsdag 29 juli 2008 @ 23:11:
[...]
Het kan zijn dat NTFS lezen/schrijven vanuit GNU/Linux duidelijk trager is. Wat zijn de snelheden die je haalt als je een file binnen hetzelfde (ext3) filesystem kopieert, bijvoorbeeld met een van de volgende twee commando's?
time cp eenfile /tmp/testfile1
dd if=/eenfile of=/tmp/testfile1 bs=4K

Gebruik het liefst een file die niet gecached is (dus die niet of heel lang geleden gelezen is sinds je laatste boot)
binnen het filesystem had ik ook al getest en dat gaat bijna net zo langzaam (6MB/s oid). NTFS is dus denk ik niet relevant. Met jouw eerste commando geeft ie:
code:
1
2
3
4
5
rick@athlon3200:~/Desktop/Cassandra's.Dream[2007]DvDrip-aXXo$ time cp Cassandra\'s.Dream\[2007\]DvDrip-aXXo.avi /home/rick/Desktop/

real    4m17.021s
user    0m0.116s
sys 0m4.932s

en dat is een bestand van 700MB, dus als ik dat even snel uitreken zal dat ook iet svan 3-4MB/s zijn....

Maar aangezien kopieren vanaf een USB stick naar mijn desktop wel snel gaat (25MB/s bij groot bestand) lijkt me dat de harddisk wel goed werkt (qua dma-modes enzo). Wat kan dit nog meer zijn?

[edit] cpu-belasting tijdens het kopieren is ook niet hoog als ik kijk met 'top'.

[edit2] en als ik iets vanaf mijn harddisk naar een externe harddisk kopieer gaat dat ook met slechts 3.5MB's. Kopieren vanaf de externe hd naar mijn lokale hd gaat wel gewoon met 20MB/s.
Het lijkt wel als wanneer er vanaf mijn lokale HD iets weggeschreven moet worden naar een willekeurige andere plaats dat het dan langzaam gaat.

[edit 3] Nu iets heel vaags. Ik log uit en log in onder een ander account en daarbij werkt alles WEL gewoon snel (alles wat ik hierboven noemde met zo'n 20MB's ipv. 3.5MB/s). Daarna log ik uit en weer in onder mn eigen account en hij kopieert nu wel gewoon snel naar mn NTFS-partitie. Dit is best wel vreemd, omdat ik voor de zekerheid al een keer gereboot had. Het kopieren gaat alleen wel steeds langzamer en het lijkt exact op wat monnick beschrijft. Tijdens het tikken van dit bericht zie ik het al dalen tot 8MB/s, inmiddels 6MB/s en still counting..... Dit lijkt niet ok.

[edit 4]. Idd net zoals monnick beschrijft. Kleinere bestanden van bijv. 700MB afzonderlijk gaan gewoon snel, maar een hele lading tegelijk gaat na een tijdje dramatisch langzaam.
Ik heb overigens een MSI K8T moederbord + athlon64 3200 en VIA S-ATA chipset.

[ Voor 35% gewijzigd door Palomar op 30-07-2008 00:29 ]


  • Jungian
  • Registratie: Juni 2006
  • Niet online

Jungian

>_<

monnick schreef op dinsdag 29 juli 2008 @ 19:42:
Die guide heb ik stap-voor-stap doorlopen maar werkt niet.
Het zal vast de gebruikelijke voodoo zijn, maar houdt er ook sterk rekening mee dat je iets fout hebt gedaan. ;)
[...]OSS[..]
:'(

0.0


  • Pim.
  • Registratie: Mei 2001
  • Laatst online: 16-08-2025

Pim.

Aut viam inveniam, aut faciam

Aangezien deze vraag (die niet in het topic thuishoort) een eigen topic verdient én op verzoek van de vraagsteller wat post verzet :)

"The trouble with quotes from the Internet is that you can never know if they are genuine." - Elvis Presley | Niet met me eens ? DM ME


  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 28-01 16:23

deadinspace

The what goes where now?

(nog wat stukken van mijn posts uit het andere topic hierheen overgezet)
Palomar schreef op dinsdag 29 juli 2008 @ 23:53:
[...] en dat is een bestand van 700MB, dus als ik dat even snel uitreken zal dat ook iet svan 3-4MB/s zijn....
Ik kom op iets minder dan 3 MB/sec, dat is aardig traag ja.
en als ik iets vanaf mijn harddisk naar een externe harddisk kopieer gaat dat ook met slechts 3.5MB's. Kopieren vanaf de externe hd naar mijn lokale hd gaat wel gewoon met 20MB/s.
En dat vind ik ook vreemd...
Nu iets heel vaags. Ik log uit en log in onder een ander account en daarbij werkt alles WEL gewoon snel (alles wat ik hierboven noemde met zo'n 20MB's ipv. 3.5MB/s). Daarna log ik uit en weer in onder mn eigen account en hij kopieert nu wel gewoon snel naar mn NTFS-partitie. Dit is best wel vreemd, omdat ik voor de zekerheid al een keer gereboot had.
Merk op dat als je niet gereboot hebt tussen die account-wisselingen en je getest hebt met dezelfde file, de resultaten vertekend zullen zijn door caching. Als je genoeg geheugen hebt (bv 2GB terwijl je test met een 700MB file) dan zal de inhoud van die file gecached worden waardoor hij de volgende keer niet meer van je disk gelezen hoeft te worden.

Toevallig heb ik vandaag ergens gelezen hoe je die caches kan flushen, dus dat kunnen we hier mooi in de praktijk brengen :P

Op mijn systeem zie ik het volgende (met dd omdat die mooi de snelheden weergeeft):
# sync; echo 3 >! /proc/sys/vm/drop_caches
% dd if=test.in of=test.out bs=4K conv=fsync
734107648 bytes (734 MB) copied, 39.8148 s, 18.4 MB/s
% rm test.out; sync
% dd if=test.in of=test.out bs=4K conv=fsync
734107648 bytes (734 MB) copied, 20.1204 s, 36.5 MB/s
# sync; echo 3 >! /proc/sys/vm/drop_caches
% dd if=test.in of=/dev/null bs=4K
734107648 bytes (734 MB) copied, 17.3096 s, 42.4 MB/s
% dd if=test.in of=/dev/null bs=4K
734107648 bytes (734 MB) copied, 1.15084 s, 638 MB/s
(commando's met # moeten als root uitgevoerd worden, die met % mogen als user)

Eerst clear ik dus de caches, en daarna kopieer ik met ongeveer 18 MB/sec.

Daarna is test.in volledig aanwezig in cache, en een tweede kopieer-actie (na verwijderen test.out) hoeft dus niks meer van disk te lezen, alleen maar te schrijven, en de snelheid ligt daardoor een stuk hoger (36 MB/sec).

Ik clear de caches nogmaals, en kopieer test.in naar /dev/null. Daarvoor hoeft alleen maar van disk gelezen te worden, en dat gaat met 42 MB/sec.

Nu is test.in weer volledig in geheugen aanwezig, en nogmaals naar /dev/null kopieren heeft de harddisk helemaal niet meer nodig en is dus beperkt door CPU- en geheugensnelheid (638 MB/sec).

Wat voor snelheden zie jij zoal? Ik ben vooral benieuwd naar uncached file->devnull, aangezien je daarop zo'n lage snelheden haalde (3 MB/sec harddisk -> externe HD).

Ik gebruik een andere I/O scheduler (anticipatory) dan standaard is (cfq), al leek dat in mijn tests niet al te veel uit te maken. Maar als je wil dan kun je het ook met anticipatory proberen:
# cat /sys/block/hda/queue/scheduler
noop [anticipatory] deadline cfq
(kun je veranderen door de gewenste naam ernaar te echo'en)
Ik heb overigens een MSI K8T moederbord + athlon64 3200 en VIA S-ATA chipset.
Hmm, ik heb best slechte ervaringen met disk I/O performance op Via chipsets onder GNU/Linux (geen idee van de performance onder Windows): lage throughput, en een traag en slecht-reagerend systeem onder zware disk I/O. Vervanging door Intel of nForce chipsets deed de performanceproblemen verdwijnen.

Maar dat was wel met oudere chipsets (P2/P3/athlon tijdperk).
DrClaw schreef op woensdag 30 juli 2008 @ 02:11:
voor degene met de langzame harddrives .. pas eens je /etc/fstab aan voor een langzame drive, en zet bij de options van desbetreffende partitie eens 'noatime,nodiratime' zonder de quotes neer:
Een paar dingen:
  • atime heeft vziw vooral effect als je veel files benadert. Voor één grote file zou die overhead verwaarloosbaar moeten zijn.
  • nodiratime is niet nodig als je noatime gebruikt
  • sommige programma's zijn afhankelijk van correct atime gedrag (maar dat zijn er niet veel)
Verder altijd een interessante performance tweak. Relatime is ook nog een interessante optie.
verder kun je eens kijken of er in je bios, danwel in je grub bootloader config, aangegeven staat of je 'noapic' hebt aangegeven. Dit is een fallback methode voor oudere pctjes, wat een beperktere set van IRQs gebruikt, die gedeeld moeten worden.
Mja, apics zijn mooi enzo, maar ik weiger te geloven dat dat zo'n performanceverschil veroorzaakt.

  • Palomar
  • Registratie: Februari 2000
  • Niet online
Ok, heb even jouw voorbeeldje geprobeerd en het lijkt nu wel redelijk overeen te komen :)
rick@athlon3200:~$ dd if=dmd-cloverfield.avi of=test.out bs=4K conv=fsync
179214+0 records in
179214+0 records out
734060544 bytes (734 MB) copied, 43.2503 s, 17.0 MB/s
rick@athlon3200:~$ rm test.out ; sync
rick@athlon3200:~$ dd if=dmd-cloverfield.avi of=test.out bs=4K conv=fsync
179214+0 records in
179214+0 records out
734060544 bytes (734 MB) copied, 25.6558 s, 28.6 MB/s
rick@athlon3200:~$ dd if=dmd-cloverfield.avi of=/dev/null bs=4k
179214+0 records in
179214+0 records out
734060544 bytes (734 MB) copied, 0.932873 s, 787 MB/s
rick@athlon3200:~$ 

(de root commands heb ik tussendoor in een andere terminal uitgevoerd). Zie trouwens dat ik 1 stap ben vergeten, maar volgens mij maakt dat niet zoveel uit, omdat de rest aardig overeenkomt met jouw resultaten.

Waar ik verder ondertussen wel uit ben is dat het zich vooral voordoet bij grotere hoeveelheden data tegelijk. Exact wat monnick een paar posts hierboven vertelt. 1 film kopieren gaat gewoon redelijk snel met zo'n 20MB/s, maar bij meerdere films tegelijk in 1 kopieeractie gaat de snelheid steeds verder omlaag.

Ik heb overigens 2GB ram en 4GB swap. Zou het er iets mee te maken hebben dat er na het kopieren van 2GB aan data (== de grootte van mijn ram) iets volloopt waardoor hetkopieren niet snel meer gaat? Ik zou er haast voor de grap eens 1GB uit willen halen en dan kijken of ie bij 1GB aan data al langzaam gaat. Tenminste, alleen als dit volgens jullie ook een reeel vermoeden kan zijn ;)

PS. Dit probleem heeft niks meer met NTFS te maken (zoals de topictitel doet suggereren). Ook als ik veel data van directory1 naar directory2 kopieer binnen mijn homedir (ext3) dan gaat dat steeds langzamer. Zal nog even een title change aanvragen.

[ Voor 7% gewijzigd door Palomar op 01-08-2008 21:21 ]


  • zomertje
  • Registratie: Januari 2000
  • Laatst online: 22-01 20:37

zomertje

Barisax knorretje

Titel aangepast :)

het ultieme jaargetijde.... | #!/usr/bin/girl | Art prints and fun


  • Palomar
  • Registratie: Februari 2000
  • Niet online
thnx :)

Overigens zit ik nu nog wat te testen (eerdere posts waren van een paar dagen geleden) en het kopieren van 4GB aan films (6 bestanden) gaat nu wel stabieler dan eerst. Heb het even biijgehouden (paar momenten genoteerd).

Kopieren binnen mn homedir (EXT3):
529MB -> 30MB/s
972MB -> 20MB/s
1.8GB -> 16MB/s
3.4GB -> 15MB/s
4.1GB -> 14MB/s

En van mn homedir naar een NTFS-partitie:
268MB -> 14MB/s
1GB -> 12MB/s
2.6GB -> 12MB/s
3.9GB -> 12MB/s

Dus nu lijkt het opeens wel redelijk stabiel te gaan. Alleen in het begin van ext3->ext3 ging wat sneller, maar dat zal wel met optimalisaties oid te maken hebben. Feit is dat het nu niet langzamer gaat dan 12MB/s. En dat is beter dan 3MB/s wat ik eerst haalde. Weet niet of het probleem nu ineens is opgelost, maar er zijn de afgelopen dagen wel een paar updates van Ubuntu geweest. Misschien dat die er iets aan veranderd hebben...

  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 28-01 16:23

deadinspace

The what goes where now?

Palomar schreef op vrijdag 01 augustus 2008 @ 21:14:
1 film kopieren gaat gewoon redelijk snel met zo'n 20MB/s, maar bij meerdere films tegelijk in 1 kopieeractie gaat de snelheid steeds verder omlaag.
Bedoel je dan dat ze direct na elkaar gekopieerd worden, of ècht tegelijk?

Direct na elkaar zou zijn: meerdere files selecteren en in één keer slepen naar hun bestemming, of:
cp file1 file2 file3 bestemming/


Echt tegelijk zou zijn: files één voor een slepen naar hun nieuwe bestemming terwijl de vorige nog aan het kopieren is, zodat je meerdere "Kopieren..." schermpjes krijgt, of:
cp file1 bestemming/
cp file2 bestemming/
cp file3 bestemming/
(en die dan tegelijk in meerdere terminals uitvoeren)

Bij ècht tegelijk verbaast het me niet dat de (totale) snelheid in elkaar zakt, de harddisk moet dan flink veel seeken (al valt het in een test hier bij mij wel mee eigenlijk). Bij meerdere files na elkaar zou het niet significant moeten uitmaken.
Ik heb overigens 2GB ram en 4GB swap. Zou het er iets mee te maken hebben dat er na het kopieren van 2GB aan data (== de grootte van mijn ram) iets volloopt waardoor hetkopieren niet snel meer gaat?
Nee, dat zou niet uit moeten maken. Linux cached wel het bronbestand en het doelbestand in je geheugen, zodat die data sneller beschikbaar is als het daarna nog eens nodig is, en dat loopt dus na een tijdje vol. Maar nadat het gekopieerd is is die data (in dit geval) ook niet meer nodig, dus dat daar geen plaats voor is is ook niet erg.
Palomar schreef op vrijdag 01 augustus 2008 @ 21:50:
Heb het even biijgehouden (paar momenten genoteerd).
Hmm, dat ziet er vrij normaal uit ja. Geen fenomenale snelheid, maar ook niet verdacht traag.
Weet niet of het probleem nu ineens is opgelost, maar er zijn de afgelopen dagen wel een paar updates van Ubuntu geweest. Misschien dat die er iets aan veranderd hebben...
Dat zou kunnen. Het zou dan vermoedelijk om een kernel update gaan. Misschien dat er wat nuttigs in de changelogs staat.

  • Jouke74
  • Registratie: Juni 2006
  • Laatst online: 03-04-2025
Inderdaad een bug. Mensen hadden dit probleem kunnen oplossen door de parameter "NOACPI" toe te voegen aan de kernel parameters. Nu zou het in orde moeten zijn, maar in mijn opinie breekt het nog steeds geen snelheidsrecords onder Ubuntu.

"That was left handed..." - JJH

Pagina: 1