Výkon

Jak používat příkaz dd v systému Linux

Jak používat příkaz dd v systému Linux
The dd příkaz se používá k provádění mnoha důležitých věcí. Nejběžnější a nejrozšířenější použití dd příkaz je vytvořit zaváděcí USB disky z ISO nebo IMG obrazový soubor. Hodně ho používám k výrobě zaváděcích USB disků různých distribucí Linuxu. Existují ale i další způsoby použití dd příkaz také. Například dd příkaz lze použít k vytvoření zálohy tabulky oddílů, převodu textů a souborů, instalaci bootloaderu na jednotku pevného disku, jednotku SSD nebo USB. The dd příkaz lze také použít k testování výkonu úložných zařízení, jako je latence pevného disku, rychlost čtení a zápisu pevného disku atd.

V tomto článku vám ukážu některé běžné způsoby použití dd příkaz v Linuxu. Pro demonstraci budu používat Debian 9 Stretch. Mělo by to ale fungovat na jakékoli jiné distribuci Linuxu. Začněme.

Vytvoření bootovatelné jednotky USB pomocí dd:

Vytvoření zaváděcí jednotky USB vašeho oblíbeného operačního systému pomocí dd příkaz je velmi snadný. Vše, co potřebujete, je USB disk a ISO nebo IMG obrázek operačního systému, ze kterého chcete vytvořit zaváděcí USB.

Předpokládejme, že jste si stáhli soubor ISO obrázek Alpine Linux a soubor se uloží do ~ / Ke stažení adresář jako alpský standard-3.8.0-x86_64.iso

Nyní můžete zobrazit seznam všech připojených úložišť nebo blokovat zařízení pomocí následujícího příkazu:

$ sudo lsblk

Jak vidíte, jsou zde uvedena všechna připojená úložiště nebo blokovací zařízení. Tady, / dev / sdb je můj USB disk. Má dva oddíly, / dev / sdb1 a / dev / sdb2. Ale když děláte zaváděcí USB disky, musíte použít / dev / sdb, celé blokové zařízení, ne žádné oddíly.

Nyní vytvořte zaváděcí jednotku USB systému Alpine Linux pomocí následujícího příkazu:

$ sudo dd if = ~ / Soubory ke stažení / alpine-standard-3.8.0-x86_64.iso of = / dev / sdb bs = 1M

Tady, pokud =~ / Soubory ke stažení / alpine-standard-3.8.0-x86_64.iso volba se používá k prozradení dd že vstupní soubor je v cestě ~ / Soubory ke stažení / alpine-standard-3.8.0-x86_64.iso a =/ dev / sdb volba se používá k prozradení dd že výstupní soubor je v cestě / dev / sdb. Bs =1 mil vypráví dd číst z ~ / Soubory ke stažení / alpine-standard-3.8.0-x86_64.iso a napsat / dev / sdb 1 megabajt dat najednou.

Jak vidíte, soubor ISO se zkopíruje do blokového zařízení / dev / sdb. Nyní jej můžete použít k instalaci Alpine Linux.

Tento příkaz je velmi destruktivní. The dd příkaz vymaže tabulku oddílů a další metadata, příznaky z blokového zařízení. Takže musíte být opatrní.

Zobrazení indikátoru průběhu:

Ve výchozím nastavení je dd Příkaz nezobrazuje žádný indikátor průběhu. Ale můžete to říct dd ukázat to s stav = pokrok volba.

Například ke kopírování dat z / dev / sda na / dev / sdb 1 megabajty najednou a také zobrazte indikátor průběhu, spusťte následující příkaz:

$ sudo dd if = / dev / sda of = / dev / sdb bs = 1M status = progress

Jak vidíte, zobrazí se indikátor průběhu. Můžete vidět, kolik dat se kopíruje a jak rychle se kopírují.

Měření výkonu čtení a zápisu úložného zařízení pomocí dd:

Můžete měřit rychlost čtení a zápisu paměťového zařízení pomocí dd velmi lehce. Samozřejmě existuje mnoho grafických softwarů, které tyto informace poskytují, ale milovníci příkazového řádku by to považovali za velmi zajímavé.

Nejprve musíte připojit oddíl nebo úložné zařízení do vašeho souborového systému. Pokud na svém úložném zařízení nemáte oddíl, můžete jej vždy vytvořit pomocí fdisk a naformátujte jej na požadovaný souborový systém (např FAT32, EXT4, NTFS, XFS atd). Zde předpokládám, že máte oddíl / dev / sdb1 a je naformátován jako EXT4.

Řekněme, že se chcete připojit / dev / sdb1 oddíl do / mnt adresáře, pak spusťte následující příkaz:

$ sudo mount / dev / sdb1 / mnt

Jak vidíte, oddíl / dev / sdb1 je namontován na / mnt adresář.

$ df -h

Nyní vytvořme 1 GB soubor testrw v / mnt adresář s dd:

$ sudo dd if = / dev / zero of = / mnt / testrw bs = 1G count = 1 oflag = direct

Tady, počet = 1 znamená číst bs = 1G což je 1 gigabajt od / dev / nula, a napiš to / mnt / testrw soubor.

The oflag = přímý možnost slouží k deaktivaci ukládání do mezipaměti disku. Pokud je povoleno ukládání do mezipaměti disku, nebudete mít velmi přesné výsledky.

POZNÁMKA: Nezapomeňte, že pro tuto operaci musíte mít v počítači alespoň 1 GB volné paměti nebo RAM. Pokud si nemůžete dovolit tolik volné RAM, zmenšete velikost bs. Například set bs = 128 mil nebo ještě méně, bs = 64 mil.

Jak vidíte, rychlost zápisu na můj USB disk je asi 6.1 MB za sekundu.

Rychlost čtení vašeho úložného zařízení můžete také otestovat pomocí následujícího příkazu:

$ sudo dd if = / mnt / testrw of = ~ / Downloads / test bs = 1G počet = 1 oflag = přímý

Jak vidíte, mohu číst ve 4.3 MB za sekundu.

Testování latence úložného zařízení pomocí dd:

Latence paměťového zařízení je čas potřebný k přístupu k zařízení. Je to důležitý parametr, který můžeme určit pomocí dd příkaz.

Abychom otestovali latenci, můžeme psát nebo číst malé kousky dat (přibližně 512 bajtů najednou) Xkrát a zjistit, jak dlouho to trvá. Pak můžeme vypočítat, jak dlouho trvá snadné čtení nebo zápis jednoho bloku dat. Tomu se říká latence paměťového zařízení.

Řekněme například, že chcete vypočítat latenci zápisu. Nyní spusťte následující příkaz a zapište 512 bajtových bloků asi 1000krát:

$ sudo dd if = / dev / zero of = / mnt / testX bs = 512 count = 1000 oflag = direct

Jak vidíte, trvá to asi 16.4541 sekund na psaní 1000 kousky 512 bajtů dat. Nyní, abychom zapsali jeden kus dat, to trvá asi (16.4541s / 1000 = 0.0164 s) 0.0164 sekund. Latence zápisu je tedy asi 0.0164 sekund pro toto úložné zařízení.

Latenci čtení můžete vypočítat stejným způsobem.

Takto tedy používáte dd a testujete s ním výkon I / O zařízení. Děkujeme za přečtení tohoto článku.

Hry HD remasterované hry pro Linux, které nikdy dříve neměly vydání Linuxu
HD remasterované hry pro Linux, které nikdy dříve neměly vydání Linuxu
Mnoho vývojářů a vydavatelů her přichází s HD remasterem starých her, aby prodloužili životnost franšízy, prosím fanoušky, kteří požadují kompatibilit...
Hry Jak používat AutoKey k automatizaci linuxových her
Jak používat AutoKey k automatizaci linuxových her
AutoKey je nástroj pro automatizaci stolních počítačů pro systémy Linux a X11, programovaný v programech Python 3, GTK a Qt. Pomocí jeho funkcí skript...
Hry Jak zobrazit počítadlo FPS v linuxových hrách
Jak zobrazit počítadlo FPS v linuxových hrách
Hraní na Linuxu získalo velký tlak, když společnost Valve v roce 2012 oznámila podporu systému Linux pro klienta Steam a jejich hry. Od té doby se mno...