GNU/Linux >> Znalost Linux >  >> Linux

Jak zjistit rychlost přenosu dat na pevném disku v Linuxu

Tato příručka vás naučí, jak zjistit rychlost přenosu dat na pevném disku v Linuxu. Jinými slovy, identifikujeme, jak rychle váš pevný disk dodává data v operačních systémech Linux a Unix.

Budeme také mluvit o dalších užitečných věcech, jako je kolik sektorů dokáže HDD přečíst najednou, funkce předčítání, akustický režim, zpětný zápis do mezipaměti a benchmarking HDD atd.

Pro účely této příručky budeme používat hdparm nástroj příkazového řádku pro kontrolu rychlosti čtení a zápisu pevného disku a testování výkonu pevného disku.

Pro případ, že by vám to uniklo, už jsme použili hdparm nástroj k vyhledání podrobností o jednotce pevného disku v Linuxu. Nyní použijeme stejný hdparm nástroj pro měření přenosové rychlosti pevného disku.

Důležité upozornění

I když hdparm nabízí značné výhody pro zvýšení výkonu disku, je také EXTRÉMNĚ NEBEZPEČNÝ . Velmi pravděpodobně povede k masivní ztrátě dat při zneužití některých parametrů. Dokumentace hdparm doporučuje, že NEMĚLI BYSTE ZA ŽÁDNÝCH OKOLNOSTÍ POUŽÍVAT NĚKTERÉ PŘÍKAZY . Takže jsem v této příručce vyloučil takové nebezpečné příkazy. Ještě důležitější je, že se vždy doporučuje zálohovat pevný disk před testováním pevného disku pomocí hdparm na vašem systému Linux.

Najděte rychlost přenosu dat pevného disku v Linuxu

Chcete-li zkontrolovat rychlost přenosu dat na HDD v Linuxu, spusťte "hdparm" příkaz s -t příznak jako níže:

$ sudo hdparm -t /dev/sda

Ukázkový výstup:

/dev/sda:
 Timing buffered disk reads: 246 MB in  3.00 seconds =  81.97 MB/sec

Jak vidíte, rychlost přenosu dat je 81,97 MB za vteřinu. Ujistěte se, že na pozadí neběží žádné jiné programy.

Spusťte hdparm povel alespoň dvakrát nebo třikrát a z výsledků vypočítejte průměrnou rychlost přenosu dat vašeho disku.

Jak můžete vidět na výše uvedeném výstupu, linuxové jádro při přenosu dat ukládá data získaná z HDD do vyrovnávací paměti. Pokud chcete měřit přesnější rychlost přenosu dat, použijte:

$ sudo hdparm -t --direct /dev/sda

Ukázkový výstup:

/dev/sda:
 Timing O_DIRECT disk reads: 242 MB in  3.02 seconds =  80.21 MB/sec

Nyní hdparm program nebude používat vyrovnávací paměť a bude číst data přímo z HDD. Jak jste si všimli ve výše uvedeném výstupu, přenosová rychlost se bez vyrovnávací paměti snížila.

Hdparm bude vždy číst data od začátku paměťových zařízení. Pokud chcete hdparm pro čtení dat z jiné oblasti úložného zařízení můžete použít "offset" parametr jako níže.

$ sudo hdparm -t --direct --offset 10 /dev/sda

Zde 10 znamená počet gigabajtů k přeskočení. Podle výše uvedeného příkazu, prvních 10 GB bude při čtení dat z disku přeskočen. Na 20GB disk, výše uvedený příkaz doručí data ze středu disku.

Ukázkový výstup:

dev/sda:
 Timing O_DIRECT disk reads (offset 10 GB): 244 MB in  3.01 seconds =  81.15 MB/sec

Porovnejte přenosovou rychlost HDD s hodnotami offsetu a bez nich. Když jsme použili "offset" parametru ve druhém příkazu se přenosová rychlost snížila. Zdá se tedy, že pevné disky doručují data z vnějších oblastí disků trochu pomaleji.

Zjistěte, kolik sektorů čte pevný disk

Obvykle bude pevný disk číst několik sektorů současně, aby se urychlil přenos dat. Tuto hodnotu zjistíte spuštěním:

$ sudo hdparm -I /dev/sda

V části "Capabilities" sekce, uvidíte výstup jako níže.

[...]
Capabilities:
    LBA, IORDY(can be disabled)
    Queue depth: 32
    Standby timer values: spec'd by Standard, no device specific minimum
    R/W multiple sector transfer: Max = 16    Current = 16
    Advanced power management level: 254
    Recommended acoustic management value: 208, current value: 208
    DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 udma5 *udma6 
[...]

Podle výše uvedeného výstupu můj hdd čte 16 sectors najednou.

Některé moderní HDD mohou sektory načíst předem. Tato funkce se nazývá "read ahead" . Tuto hodnotu můžete najít pomocí "-a" příznak jako níže:

$ sudo hdparm -a /dev/sda

Ukázkový výstup:

/dev/sda:
readahead     = 256 (on)

Jak vidíte na výše uvedeném výstupu, hdd umí číst 256 sektory předem.

Uveďte HDD do tichého režimu, abyste prodloužili přístupovou dobu

U některých moderních pevných disků můžeme zpomalit pohyb hlavy. Zpomalení pohybu hlavy sníží hladinu hluku a prodlouží dobu přístupu.

Chcete-li zkontrolovat, zda váš HDD podporuje tento "acoustic mode" feature, run:

$ sudo hdparm -M /dev/sda

Pokud váš disk podporuje akustický režim, měli byste mít výstup jako níže.

/dev/sda:
acoustic      = 208 (128=quiet ... 254=fast)

Aktuální hodnota akustického režimu je 208 v mém systému. Hodnoty akustického režimu lze nastavit v rozmezí 128 na 254 .

Chcete-li přepnout pevný disk do tichého režimu, spusťte:

$ sudo hdparm -M 128 /dev/sda

Chcete-li zvýšit rychlost pohybu hlavy, spusťte:

$ sudo hdparm -M 254 /dev/sda

Vezměte prosím na vědomí, že váš operační systém by měl tuto funkci podporovat.

Pokud tuto funkci nepodporuje, uvidíte toto:

dev/sda:
 acoustic      = not supported

Ukládání zpětného zápisu do mezipaměti

Když je povolen režim ukládání do mezipaměti se zpětným zápisem, hdd uloží data, která mají být zapsána, do vyrovnávací paměti. Tímto způsobem může hdd zapisovat rychleji.

Chcete-li ověřit, zda je povolen režim ukládání do mezipaměti zpětného zápisu, použijte příznak "-W".

$ sudo hdparm -W /dev/sda

Ukázkový výstup:

/dev/sda:
write-caching =  1 (on)

Pokud je výstupní hodnota 1, je povolena funkce zpětného zápisu do mezipaměti. Pokud je 0, ukládání zpětného zápisu do mezipaměti je zakázáno. Můžete jej povolit pomocí příkazu:

$ sudo hdparm -W1 /dev/sda

Pokud hdparm nemůže tuto funkci aktivovat, ujistěte se, že je ve vašem BIOSu povolena funkce ukládání zpětného zápisu do mezipaměti.

Chcete-li jej zakázat, jednoduše použijte:

$ sudo hdparm -W0 /dev/sda

Přestože ukládání do mezipaměti zvyšuje rychlost zápisu, v některých situacích se nedoporučuje.

Například při náhlém výpadku napájení by se data ve vyrovnávací paměti trvale ztratila. Při spouštění databázových programů, jako je PostgreSQL, byste tedy neměli povolit funkci ukládání zpětného zápisu do mezipaměti.

Benchmark pevný disk z příkazového řádku

Chcete-li porovnat pevný disk a otestovat rychlost čtení disku, použijte velká písmena "T" a malá písmena "t" příznaky společně jako níže.

$ sudo hdparm -Tt /dev/sda

Ukázkový výstup:

/dev/sda:
 Timing cached reads:   7232 MB in  1.99 seconds = 3629.42 MB/sec
 Timing buffered disk reads: 250 MB in  3.01 seconds =  82.99 MB/sec

Opakujte tento příkaz alespoň 2-3krát, abyste získali smysluplný výsledek.

Další podrobnosti naleznete na manuálových stránkách.

$ man hdparm

Srovnání pevného disku pomocí grafického nástroje Disky GNOME

Pokud se vám nelíbí způsob příkazového řádku, Disky GNOME Program GUI nám také umožňuje porovnávat pevné disky.

Otevřete Disky z nabídky nebo pomlčky. Vyberte disk, který chcete porovnat, klikněte na tři tečky a zvolte "Benchmark Disk" možnost.

Klikněte na Spustit srovnávání možnost spuštění benchmarkingu:

Závěr

V této příručce jsme diskutovali o tom, jak zjistit rychlost přenosu dat na pevném disku v Linuxu (tj. jak rychle pevný disk dodává data). Podívali jsme se také na to, jak testovat pevný disk z režimu příkazového řádku a grafického režimu pomocí nástroje Gnome Disks GUI.

Vybraný obrázek od Pixabay.


Linux
  1. Jak rozdělit disk v Linuxu

  2. Jak používat FIND v Linuxu

  3. Jak omezit/snížit rychlost přenosu rsync v Linuxu

  1. Jak najít soubor v Linuxu

  2. Jak zjistit, zda je disk SSD nebo HDD v Linuxu

  3. Jak najít disk je SSD nebo HDD v Linuxu?

  1. Jak najít soubory v Linuxu

  2. Jak zjistit číslo modelu linuxové diskové jednotky?

  3. Vypnout můj (záložní) pevný disk v Linuxu, když jej nepoužívám