GNU/Linux >> Znalost Linux >  >> Linux

Hlášení I/O z příkazového řádku Linuxu

Pokud jste sledovali mé příspěvky zde na Enable Sysadmin, víte, že jsem dříve pracoval jako technik podpory úložiště. Jedním z mých mnoha úkolů v této roli bylo pomáhat zákazníkům replikovat zálohy z jejich produkčního prostředí do vyhrazených zálohovacích polí. Mnohokrát mě zákazníci kontaktovali s obavami o rychlost přenosu dat z výroby do úložiště.

Nyní, pokud jste někdy pracovali na podpoře, víte, že pro symptom může být mnoho příčin. Propustnost systému však může mít obrovské důsledky pro masivní přenosy dat. Pokud je vše v pořádku, mluvíme hodiny, pokud ne... Viděl jsem, že jediná replikační úloha trvá měsíce.

Víme, že Linux je plný užitečných nástrojů pro všechny druhy problémů. Pro sledování vstupů/výstupů používáme iostat příkaz. iostat je součástí sysstat balíček a ve výchozím nastavení není načten ve všech distribucích.

Instalace a základní provoz

Zde používám Red Hat Enterprise Linux 8 a níže jsem zahrnul instalační výstup.

[ Chcete si vyzkoušet Red Hat Enterprise Linux? Stáhněte si ji nyní zdarma. ]

POZNÁMKA :příkaz se spustí automaticky po instalaci.

[root@rhel ~]# iostat
bash: iostat: command not found...
Install package 'sysstat' to provide command 'iostat'? [N/y] y
    
    
 * Waiting in queue... 
The following packages have to be installed:
lm_sensors-libs-3.4.0-21.20180522git70f7e08.el8.x86_64    Lm_sensors core libraries
sysstat-11.7.3-2.el8.x86_64    Collection of performance monitoring tools for Linux
Proceed with changes? [N/y] y
    
    
 * Waiting in queue... 
 * Waiting for authentication... 
 * Waiting in queue... 
 * Downloading packages... 
 * Requesting data... 
 * Testing changes... 
 * Installing packages... 
Linux 4.18.0-193.1.2.el8_2.x86_64 (rhel.test)     06/17/2020     _x86_64_    (4 CPU)
    
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           2.17    0.05    4.09    0.65    0.00   83.03
    
Device             tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda             206.70      8014.01      1411.92    1224862     215798
sdc               0.69        20.39         0.00       3116          0
sdb               0.69        20.39         0.00       3116          0
dm-0            215.54      7917.78      1449.15    1210154     221488
dm-1              0.64        14.52         0.00       2220          0

Pokud spustíte základní příkaz bez voleb, iostat zobrazuje informace o využití CPU. Zobrazuje také statistiky I/O pro každý oddíl v systému. Výstup obsahuje součty a také hodnoty za sekundu pro operace čtení i zápisu. Všimněte si také, že tps pole je celkový počet Přenosů za sekundu vydáno konkrétnímu zařízení.

Praktická aplikace je tato:pokud víte, jaký hardware je použit, pak víte, v jakých parametrech by měl fungovat. Jakmile zkombinujete tyto znalosti s výstupem iostat , můžete odpovídajícím způsobem provést změny ve vašem systému.

Interval běží

Ve fázích odstraňování problémů nebo shromažďování dat může být užitečné nechat sestavu spouštět v daném intervalu. Chcete-li to provést, spusťte příkaz s intervalem (v sekundách) na konci:

[root@rhel ~]# iostat -m 10
Linux 4.18.0-193.1.2.el8_2.x86_64 (rhel.test)     06/17/2020     _x86_64_    (4 CPU)
    
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.94    0.05    0.35    0.04    0.00   98.62
    
Device             tps    MB_read/s    MB_wrtn/s    MB_read    MB_wrtn
sda              12.18         0.44         0.12       1212        323
sdc               0.04         0.00         0.00          3          0
sdb               0.04         0.00         0.00          3          0
dm-0             12.79         0.43         0.12       1197        329
dm-1              0.04         0.00         0.00          2          0
    
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.24    0.00    0.15    0.00    0.00   99.61
    
Device             tps    MB_read/s    MB_wrtn/s    MB_read    MB_wrtn
sda               0.00         0.00         0.00          0          0
sdc               0.00         0.00         0.00          0          0
sdb               0.00         0.00         0.00          0          0
dm-0              0.00         0.00         0.00          0          0
dm-1              0.00         0.00         0.00          0          0
    
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.20    0.00    0.18    0.00    0.00   99.62
    
Device             tps    MB_read/s    MB_wrtn/s    MB_read    MB_wrtn
sda               0.50         0.00         0.00          0          0
sdc               0.00         0.00         0.00          0          0
sdb               0.00         0.00         0.00          0          0
dm-0              0.50         0.00         0.00          0          0
dm-1              0.00         0.00         0.00          0          0

Výše uvedený výstup pochází z 30sekundového běhu.

Musíte použít Ctrl + C pro ukončení běhu.

Snadné čtení

Chcete-li výstup vyčistit a usnadnit jeho trávení, použijte následující možnosti:

-m změní výstup na megabajty, což je o něco snazší čtení a zákazníci nebo manažeři mu obvykle lépe rozumějí.

[root@rhel ~]# iostat -m
Linux 4.18.0-193.1.2.el8_2.x86_64 (rhel.test)     06/17/2020     _x86_64_    (4 CPU)
    
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           1.51    0.09    0.55    0.07    0.00   97.77
    
Device             tps    MB_read/s    MB_wrtn/s    MB_read    MB_wrtn
sda              22.23         0.81         0.21       1211        322
sdc               0.07         0.00         0.00          3          0
sdb               0.07         0.00         0.00          3          0
dm-0             23.34         0.80         0.22       1197        328
dm-1              0.07         0.00         0.00          2          0

-p umožňuje určit konkrétní zařízení, na které se chcete zaměřit. Tuto možnost můžete kombinovat s -m pro pěkný a přehledný pohled na zvláště znepokojivé zařízení a jeho oddíly.

[root@rhel ~]# iostat -m -p sda
Linux 4.18.0-193.1.2.el8_2.x86_64 (rhel.test)     06/17/2020     _x86_64_    (4 CPU)
    
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           1.19    0.07    0.45    0.06    0.00   98.24
    
Device             tps    MB_read/s    MB_wrtn/s    MB_read    MB_wrtn
sda              17.27         0.63         0.17       1211        322
sda2             16.83         0.62         0.17       1202        320
sda1              0.10         0.00         0.00          7          2

Pokročilé statistiky

Pokud vám výchozí hodnoty prostě nedostávají informace, které potřebujete, můžete použít -x příznak pro zobrazení rozšířené statistiky:

[root@rhel ~]# iostat -m -p sda -x 
Linux 4.18.0-193.1.2.el8_2.x86_64 (rhel.test)     06/17/2020     _x86_64_    (4 CPU)
    
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           1.06    0.06    0.40    0.05    0.00   98.43
    
Device            r/s     w/s     rMB/s     wMB/s   rrqm/s   wrqm/s  %rrqm  %wrqm r_await w_await aqu-sz rareq-sz wareq-sz  svctm  %util
sda             12.20    2.83      0.54      0.14     0.02     0.92   0.16  24.64    0.55    0.50   0.00    45.58    52.37   0.46   0.69
sda2            12.10    2.54      0.54      0.14     0.02     0.92   0.16  26.64    0.55    0.47   0.00    45.60    57.88   0.47   0.68
sda1             0.08    0.01      0.00      0.00     0.00     0.00   0.00  23.53    0.44    1.00   0.00    43.00   161.08   0.57   0.00

Některé z možností, kterým je třeba věnovat pozornost, jsou:

  • avgqu-sz – průměrná délka fronty požadavku odeslaného do zařízení
  • čekat – průměrná doba pro požadavky I/O odeslané do zařízení, které mají být obslouženy (milisekundy)
  • r_await – průměrná doba doručení požadavků na čtení (milisekundy)
  • w_await – průměrná doba doručení požadavků na zápis (milisekundy)

Jsou přítomny i jiné hodnoty, ale na tyto je třeba dávat pozor.

Vypínání

Tento článek popisuje téměř vše, co potřebujete, abyste mohli začít s iostat . Máte-li další otázky nebo potřebujete další vysvětlení možností, nezapomeňte se podívat na manuálovou stránku nebo svůj preferovaný vyhledávač. Další tipy a triky pro Linux najdete v části Enable Sysadmin!

[ Bezplatný online kurz:Technický přehled Red Hat Enterprise Linux. ]


Linux
  1. 8 tipů pro příkazový řádek Linuxu

  2. Jak nainstalovat software z příkazového řádku Linuxu

  3. Používání Disku Google z příkazového řádku systému Linux

  1. Nakonfigurujte pracovní prostor Linuxu vzdáleně z příkazového řádku

  2. Jak vyvolat makro Openoffice z příkazového řádku Linuxu?

  3. Linux Základy příkazového řádku – Spouštění příkazů z příkazového řádku

  1. Mít krávu na příkazovém řádku Linuxu

  2. Přihlaste se do příkazového řádku Linuxu

  3. Použití Stratisu ke správě linuxového úložiště z příkazového řádku