Proč je na macOS kopírování tak pomalé

termínál

Proč je na macOS kopírování tak pomalé
« kdy: 09. 11. 2017, 12:58:19 »
Mám problémy na unixu:
-Proč když něco zapisuji na usb disk pomocí dd ... of=/dev/disk3, tak po dokončení i přerušení se disk automaticky připojí? Pokaždé musím dávat sudo diskutil unmountDisk /dev/disk3
-Co u dd dělá volba conv=fsync a proč na OS X není? Jaká je náhrada?
-Proč je kopírování tak pomalé (zdrojový "soubor"  je na jiném PC přes gigabit lan, připojen na Volumes/jmeno-sdilene-slozky )
unzip -p soubor |   dd   bs=$[4*1024**2] of=/dev/disk3 ... Rychlost šnečí, asi 4 MB/s
cp soubor > /dev/null 70 MB/s
unzip -p soubor 32 MB/s
« Poslední změna: 10. 11. 2017, 10:17:04 od Petr Krčmář »


RG

Máte s tím problémy, protože Apple. Ne, vážně, netuším, proč. Ale s tou rychlostí... ten USB disk /dev/disk3 je fleška nebo disk? Pokud je to fleška, velmi pravděpodobně je prostě pomalá fleška. A nebo bych zkusil kopírovat po menších blocích, než těch vašich 16M, třeba 4M. Níže vysvětlení fsync:

sync - pad every input block with NULs to ibs-size; when used with block or unblock, pad with spaces rather than NULs

fdatasync - physically write output file data before finishing

fsync - likewise, but also write metadata

dsync - use synchronized I/O for data

sync - likewise, but also for metadata

termínál

Sakryš, udělal jsem chybu, že jsem neudělal bechmark flešky a už jste mě nachytali. Ta fleška má rychlost zápisu 70 MB/s.

Mezitím jsem to zkopíroval přes unzip - p soubor > /dev/rdisk3

Zajímalo by mě, jaký je význam v /dev názvy disků s písmenem na začátku (prý raw), jak se to v praxi projeví. Soubor zip měl 1.5GB , po rozbalení 5GB. Rychlost trafficu v síti byla 12-25 MB/s (také slabota), na flashku asi 40 MB/s (nevím jistě), ale trvalo to tak 3 minuty (což odpovídá na 25 MB/s)



Neviditelný

No a není to právě tím, že dd standardně používá synchronní I/O zatímco běžné kopírování jde skrz write-back cache?

soriako

nejdřív jsem myslel že je to další z řady macíkových dotazů, ale ten by takhle inteligentní dotazy položit neuměl  ;D