Fórum Root.cz
Hlavní témata => Software => Téma založeno: macík 24. 10. 2018, 15:12:21
-
Když přes dd kopíruji z flešky do dev/null, proč to kopíruje po 4Kb Blocích?
dd if=/dev/disk3s1 (conv=osync / sync / nic /// nebo bs=1m) of=/dev/null
iostat: (druhý sloupec je fleška! : 4KB )
záhlaví:
KB/t, tps , MB/s --- KB/t, tps , MB/s
240.00 1 0.23 4.00 6154 24.04
252.00 2 0.49 4.00 6120 23.90
190.00 4 0.74 4.00 6129 23.94
256.00 1 0.25 4.00 6121 23.91
88.53 15 1.30 4.00 6156 24.05
167.33 6 0.98 4.00 6118 23.90
Tedy při 6000iops po 4kB to dá slabých 25 MB/s. Zatímco normálně kopíruji takto:
416.30 266 108.33 993.72 100 96.85
Tedy 1GB soubor se přečetl za 10 sekund, rychlost 97 MB/s.
Kde je problém? Proč dd tam dává 4kB. Jsou nějaké další volby, které jsem zapomněl?
-
Utilita dd je z historického důvodu optimalizována pro použití s pevnými disky. Pokud ti velikost bloku nevyhovuje, zvol si jinou.
-
Hele, když ti někdo řekne, že to máš dát do /dev/null, tak to neber doslova. To znamená, že to máš smazat!
-
Když přes dd kopíruji z flešky do dev/null, proč to kopíruje po 4Kb Blocích?
Protože 4 KiB je velikost paměťové stránky na Linuxu. dd neumí poznat, která velikost bloku je ideální.
Hele, když ti někdo řekne, že to máš dát do /dev/null, tak to neber doslova. To znamená, že to máš smazat!
dd do /dev/null se používá pro testování rychlosti čtení ;)
-
a co tedy? mám si kvůli tomu přes hdiutil dělat nový ramdisk? Nebo na pomalé x2 NVME? (jen 2GBps) Když nechci opotřebovávat flash paměti a HDDčko se 140MB/s je mi pomalé
-
a co tedy? mám si kvůli tomu přes hdiutil dělat nový ramdisk?
naučiť sa použiť copy & convert, ktorý nemohol mať skratku cc, lebo tú už mal C compiler. A tak dostal dd, lebo copy and convert sa v rukách amatéra mení na Disk destroyer...
ide o parametre black size skrátene bs
napr.
dd if=/dev/sda5 of=/dev/null bs=4096000000
-
On ještě někdo používá dd? V čem je to lepší než
pv vstup > výstup
což je jedna intuitivnější, jednak to má pěkné rozhraní a hlavně se nemusím starat o hromadu zbytečných parametrů (viz velikost bloku)?
-
Tento bs?
bs=1m
Ten nestačil?
-
Moje dd bs=1m odmítne s "invalid number". bs=1M funguje a podle očekávání je pak čtení rychlejší.
-
Mimochodem zvážil bych, zda nepoužít obyčejný cat nebo třeba pv (ukazuje průběh samo od sebe, na rozdíl od dd, kterému se musí posílat USR1, nebo se to musí hackovat přes /proc/pid/fdinfo), a nechat volbu ideální velikosti bloku na systému/glibc. Většinou to funguje dobře.
-
Jenda, novsie dd to uz maju poriesene volbou
status=progress
-
macik, priznam sa ze tomu tvojmu vypisu nerozumiem ale dd odjakziva pouzivalo default blok velkosti 512 bajtov, cokolvek ine bolo treba nastavit bs=xyz pripadne separatne ibs= obs=