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!
Citace od: macík kdy 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?
Protože 4 KiB je velikost paměťové stránky na Linuxu.
dd neumí poznat, která velikost bloku je ideální.
Citace od: L. kdy 24. 10. 2018, 15:47:31
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é
Citace od: macík kdy 03. 11. 2018, 22:20:32
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)?
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=