it-swarm-eu.dev

Kopírování na USB flash disk opravdu pomalu?

Když zkopíruji soubory do zařízení USB, trvá to mnohem déle než v systému Windows (stejné zařízení USB, stejný port), je to rychlejší než rychlosti USB 1.0 (1 MB/s), ale mnohem pomalejší než rychlosti USB 2.0 (12 MB/s). Kopírování 1,8 GB mi trvá déle než 10 minut (mělo by to být <3 min.) Mám dva identické SanDisk Cruzer 8 GB tyčinky a mám stejný problém s oběma. Mám super talent 32 GB USB SSD v sousedním portu a funguje to při očekávané rychlosti.

Problém, který vidím v grafickém uživatelském rozhraní, spočívá v tom, že ukazatel průběhu klesne téměř na 90% téměř okamžitě, doplní se o 100% trochu pomaleji a pak tam zůstane 10 minut. Zdá se, že přerušení kopírování v tomto okamžiku má za následek poškození na konci souboru. Pokud budu čekat na dokončení, kopie bude úspěšná.

Nějaké nápady? dmesg výstup níže:

[64059.432309] usb 2-1.2: new high-speed USB device number 5 using ehci_hcd
[64059.526419] scsi8 : usb-storage 2-1.2:1.0
[64060.529071] scsi 8:0:0:0: Direct-Access     SanDisk  Cruzer           1.14 PQ: 0 ANSI: 2
[64060.530834] sd 8:0:0:0: Attached scsi generic sg4 type 0
[64060.531925] sd 8:0:0:0: [sdd] 15633408 512-byte logical blocks: (8.00 GB/7.45 GiB)
[64060.533419] sd 8:0:0:0: [sdd] Write Protect is off
[64060.533428] sd 8:0:0:0: [sdd] Mode Sense: 03 00 00 00
[64060.534319] sd 8:0:0:0: [sdd] No Caching mode page present
[64060.534327] sd 8:0:0:0: [sdd] Assuming drive cache: write through
[64060.537988] sd 8:0:0:0: [sdd] No Caching mode page present
[64060.537995] sd 8:0:0:0: [sdd] Assuming drive cache: write through
[64060.541290]  sdd: sdd1
[64060.544617] sd 8:0:0:0: [sdd] No Caching mode page present
[64060.544619] sd 8:0:0:0: [sdd] Assuming drive cache: write through
[64060.544621] sd 8:0:0:0: [sdd] Attached SCSI removable disk
50
Eloff

Proč je kopírování na můj USB disk v systému Linux (a rychlejší v systému Windows) pomalejší?

Důvod 1. Ukládání souborů do mezipaměti může způsobit, že se zápisy objeví pomaleji nebo rychleji

Problém, který vidím v grafickém uživatelském rozhraní, spočívá v tom, že ukazatel průběhu klesne téměř na 90% téměř okamžitě, doplní se o 100% trochu pomaleji a pak tam zůstane 10 minut.

Jedna věc, kterou musíte pochopit, je ukládání souborů do mezipaměti. Linux (a Windows) použije jinak „prázdný“ RAM pro ukládání do mezipaměti operace čtení a zápisu a zrychlení při následných přístupech. Operace kopírování do mezipaměti pro zpomalení zařízení vede k chování, které vidíte - „rychlé dokončení“ ve skutečnosti zapisuje do mezipaměti a poté se zpomalí a zastaví, protože skutečné proplachování dat v mezipaměti (synchronizace) do pomalého zařízení trvá velmi dlouho. (jak jste uvedli), protože synchronizace nikdy neskončila.

Takové kopírování ve Windows může se zdát rychlejší (včetně hlášených rychlostí MB/s), protože někdy Windows nebude čekat na synchronizaci a prohlásí úlohu za dokončenou, jakmile data je zapsán do mezipaměti.

Důvod 2. Zápis velkého množství souborů, zejména malých, je pomalý

Kopírování 1,8 GB

Díky způsobu práce paměti flash a souborových systémů je nejrychlejší propustnost (rychlost) dosaženo při zápisu velmi velkých souborů. Zápis mnoha malých souborů nebo dokonce smíšených dat obsahujících několik malých souborů může proces hodně zpomalit. To ovlivňuje také pevné disky, ale v menší míře.

Důvod 3. Rychlosti zápisu na USB flash disk a SSD nelze srovnávat

Mám super talent 32 GB USB SSD v sousedním portu a funguje to při očekávané rychlosti.

  • Zahradní odrůda USB se obvykle skládá z čipů flash paměti, které jsou zapisovány sériově (postupně) a nemá vlastní mezipaměť.

  • SSD, na druhé straně, obsahuje řadič, který zapisuje na flash paměťové čipy paralelně , čímž se zvyšuje propustnost faktoru 2 nebo více přes USB klíčenky.

    • Pokud by váš 32 GB SSD měl čipy 4x 8 GB, byl by při jakékoli operaci zápisu stále 4x rychlejší než USB flash disk.
    • SSD také obsahuje RAM mezipaměť (jako pevné disky), takže může rychle ukládat příchozí data do mezipaměti a informovat OS o tom, že je hotovo, i když stále má skutečně zapsat tato data do flash paměti.
  • Takže s jedním velkým souborem bude vaše 32 GB GB se strukturou 4x, kterou jsme předpokládali, 4x tak rychle; s mnoha malými soubory by to bylo 10x nebo rychlejší, protože by je mohl inteligentně ukládat do své mezipaměti.


Souhrnně, to jsou důvody, proč se kopírování souborů na USB disky může v Linuxu zdát pomalejší. Je to vlastně pomalejší kvůli problému s hardwarem/ovladačem nebo cokoli ....

Správné porovnání rychlosti zápisu mezi Linuxem a Windows

  • Nejprve zapomeňte na SSD z důvodu 3. Je to jako pomeranče a jablka.
  • Chcete-li negovat účinky příčiny 1 (ukládání do mezipaměti) a příčiny 2 (malé soubory), musíte testovat s jedním velkým souborem větším než je množství RAM v testovacím systému).
  • V Linuxu si ji můžete vytvořit pomocí dd if=/dev/urandom of=largetest bs=1M count=7500, což vám poskytne testovací soubor o velikosti 7500 MB. Za předpokladu, že váš systém má méně než 4 GB RAM, je to dost dobré. Zkopírujte to na čerstvě naformátovanou paměťovou kartu Sandisk s kapacitou 8 GB a načasujte ji.
  • Restartujte Windows a zkopírujte largetest z USB disku na pevný disk. Znovu restartovat (odstranit z mezipaměti). Poté naformátujte USB flash disk (stejný vfat/FAT32!) A zkopírujte largetest z pevného disku na stick.
  • Jak se časy porovnávají?
30
ish

Myslím, že je velmi nízká šance, že se jedná o problém s přístavem. Pravděpodobně jde o problém LINUX (nebo linuxové konfigurace) - googgle around a najdete tisíce zpráv o problémech s pomalým USB v linux/ubuntu. Pro mě je to téměř showstopper pro linux - nyní mám Ubuntu 12.04 LTS a stále mám tento problém (takže raději používám nastavení Win7 - hlavně/jen proto). Tento problém (nebo něco s podobnými příznaky) je tu již několik let, očividně není oprava. A během této doby jsem vyzkoušel několik fyzických počítačů s několika různými verzemi Ubuntu (výchozí konfigurace) a 2-3 různými paměťovými jednotkami USB ....

7
Peter

Nalezené oprava vše, co jsem udělal, bylo odpojit, vyjmout jednotku a spustit Sudo modprobe ehci_hcd v terminálu. Vložte jednotku a agian Sudo modprobe ehci_hcd když jsem dal disk a wow 20/mbs myslel, že bych sdílet. Doufám, že to nemusím dělat pokaždé ... ale není to těžké ...

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/177235 říká, že opravili chybu.

7
Dj Radio

Jednoduše umount zařízení, pokud je již automatické, a ručně připojte k /mnt/foldername.

V mém případě,

umount /media/usb0
mount /dev/sdb1 /mnt/sam

Poté se velmi rychle vyrovná.

5
msnfreaky

Je 2019 a pořád mám stejný problém. Takže jsem si myslel, že hledám řešení na internetu. Našel jsem následující stránku, která navrhuje jednu: https://Gist.github.com/2E0PGS/f63544f8abe69acc5caaa54f56efe52f

Říká se:

Spusťte následující příkazy v konzole a zjistěte, zda problém vyřeší. Možná budete muset Sudo su nejprve mít požadované povolení.

echo $((16*1024*1024)) > /proc/sys/vm/dirty_background_bytes
echo $((48*1024*1024)) > /proc/sys/vm/dirty_bytes

Pokud to funguje, můžete tuto změnu prodloužit po restartu vložením dvou řádků na konec /etc/rc.local soubor.

Pro mě to mělo následující efekt:

Předchozí kopírování velkých souborů na USB disk by začalo opravdu rychle (jako 60 MB/s) a stalo by se pomalejší a pomalejší (<10 MB/s), dokud to nevypadalo, že by nikdy nedokončilo.

Nyní začíná pomaleji, ale je rychlejší a rychlejší a končí dříve než dříve. Zdá se tedy, že problém „řeší“ nebo má alespoň pozitivní účinek.

5
Jenny O'Reilly

Když se podíváte do/etc/mtab, vidíte, že zařízení bylo připojeno s možností „spláchnutí“?

Pokud ano, mohlo by to být příčinou problému (bylo to pro mě). Pouze odpojte zařízení a připojte jej, nemělo by být ve výchozím nastavení nastaveno.

1
GarfieldElCat

Pokud přepnete na USB 3.0, přejdete z 1mb/s na woping 5-8mb/s. Přepnul jsem na 3,0 USB pci a externí HD a neohlédl jsem se.

1
Ghost logger

To je stará otázka. Také jsem měl stejný problém dlouhou dobu. Nedávno jsem našel řešení zde . Co jsem udělal je:

Přeformátování USB z FAT na NTFS.

0
hasanghaforian

Měl jsem nějaké problémy také s přenosovou rychlostí na externím disku WD, po otevření v systému Windows SO jsem vždy používal LINUX, poté byl přenosový poměr jako 1,5mb/s než jsem odpojil externí pevný disk spuštěný dmesg tam to bylo říkat, že sdb1 to bylo neporazitelně nepřemístěno, provozoval fsck, který provedl několik oprav a poté 20 Mb/s přenosové rychlosti znovu, když kopíroval ze sda ​​na externí disk. fsck je vždy riziko, pokud máte data, ale fungovalo to pro mě, bez ztráty dat.

0
anymamundy