GNU/Linux >> Znalost Linux >  >> Linux

Identifikujte slabá místa výkonu Linuxu pomocí nástrojů s otevřeným zdrojovým kódem

Počítače jsou integrované systémy, které fungují tak rychle, jako jejich nejpomalejší hardwarová součást. Pokud je jedna komponenta méně schopná než ostatní – pokud zaostává a nemůže držet krok – může zadržet celý váš systém. To je úzké hrdlo výkonu . Odstranění vážného úzkého hrdla může způsobit, že váš systém bude létat.

Tento článek vysvětluje, jak identifikovat hardwarová úzká hrdla v systémech Linux. Techniky platí jak pro osobní počítače, tak pro servery. Důraz kladu na PC – nebudu se zabývat úzkými místy pro servery v oblastech, jako je správa LAN nebo databázové systémy. Ty často zahrnují specializované nástroje.

O řešeních také nebudu moc mluvit. To je příliš velké téma pro tento článek. Místo toho napíšu navazující článek s vylepšeními výkonu.

K dokončení práce použiji pouze nástroje grafického uživatelského rozhraní (GUI) s otevřeným zdrojovým kódem. Většina článků o linuxovém zúžení je poměrně složitá. Používají specializované příkazy a ponoří se hluboko do tajemných detailů.

Nástroje GUI, které open source nabízí, usnadňují identifikaci mnoha úzkých míst. Mým cílem je poskytnout vám rychlý a snadný přístup, který můžete použít kdekoli.

Kde začít

Počítač se skládá ze šesti klíčových hardwarových zdrojů:

  • Procesory
  • Paměť
  • Úložiště
  • Porty USB
  • Připojení k internetu
  • Grafický procesor

Pokud by některý zdroj fungoval špatně, může to způsobit problémové místo výkonu. Chcete-li identifikovat úzké místo, musíte sledovat těchto šest zdrojů.

Open source nabízí nepřeberné množství nástrojů pro tuto práci. Budu používat Monitor systému GNOME. Jeho výstup je snadno srozumitelný a najdete ho ve většině repozitářů.

Spusťte jej a klikněte na Zdroje tab. Mnoho problémů s výkonem můžete identifikovat hned.

Další zdroje pro Linux

  • Cheat pro příkazy Linuxu
  • Cheat sheet pro pokročilé příkazy systému Linux
  • Bezplatný online kurz:Technický přehled RHEL
  • Síťový cheat pro Linux
  • Cheat sheet SELinux
  • Cheat pro běžné příkazy pro Linux
  • Co jsou kontejnery systému Linux?
  • Naše nejnovější články o Linuxu

Zdroje panel zobrazuje tři části:Historie CPU , Historie paměti a swap a Historie sítě . Rychlý pohled vám okamžitě prozradí, zda jsou vaše procesory zahlceny nebo zda váš počítač nemá paměť nebo zda využíváte veškerou šířku pásma internetu.

Tyto problémy prozkoumám níže. Až se váš počítač zpomalí, zatím nejprve zkontrolujte Sledování systému. Okamžitě vám ukáže nejběžnější problémy s výkonem.

Nyní se podívejme, jak identifikovat úzká hrdla v konkrétních oblastech.

Jak identifikovat problémová místa procesoru

Chcete-li najít úzké místo, musíte nejprve vědět, jaký máte hardware. Open source nabízí k tomuto účelu několik nástrojů. HardInfo se mi líbí, protože jeho obrazovky jsou snadno čitelné a je široce populární.

Spusťte HardInfo. Jeho Počítač -> Souhrn panel identifikuje váš CPU a řekne vám o jeho jádrech, vláknech a rychlostech. Také identifikuje vaši základní desku a další součásti počítače.

HardInfo odhaluje, že tento počítač má jeden fyzický čip CPU. Tento čip obsahuje dva procesory nebo jádra. Každé jádro podporuje dvě vlákna nebo logické procesory. To jsou celkem čtyři logické procesory – přesně to, co ukazuje sekce Historie CPU v nástroji System Monitor na obr. 1.

úzké místo procesoru nastává, když zpracovatelé nemohou reagovat na požadavky na svůj čas. Už jsou zaneprázdněni.

Můžete to identifikovat, když sledování systému ukazuje využití logického procesoru na více než 80 % nebo 90 % po delší dobu. Zde je příklad, kdy jsou tři ze čtyř logických procesorů zahlceny při 100% využití. To je úzké hrdlo, protože nezanechává mnoho CPU pro jinou práci.

Která aplikace způsobuje problém?

Musíte zjistit, který program (programy) spotřebovává všechen ten CPU. Klikněte na Procesy v nástroji System Monitor tab. Poté klikněte na % CPU záhlaví k seřazení procesů podle toho, kolik CPU spotřebovávají. Uvidíte, které aplikace omezují váš systém.

Každý ze tří hlavních procesů spotřebuje 24 % z celkového počtu CPU zdroj. Protože existují čtyři logické procesory, znamená to, že každý spotřebovává celý procesor. To je přesně tak, jak ukazuje obr. 3.

Procesy panel identifikuje program s názvem analytical_AI jako viníka. Můžete na něj v panelu kliknout pravým tlačítkem a zobrazit další podrobnosti o spotřebě zdrojů, včetně využití paměti, otevřených souborů, podrobností o vstupu/výstupu a dalších.

Pokud má vaše přihlášení oprávnění správce, můžete proces spravovat. Můžete změnit jeho prioritu a zastavit, pokračovat, ukončit nebo zabít. Takže své úzké místo můžete okamžitě vyřešit zde.

Jak řešíte problémová místa ve zpracování? Kromě řízení problematického procesu v reálném čase můžete zabránit vzniku úzkého hrdla. Můžete například nahradit pachatele jinou aplikací, obejít to, změnit své chování při používání této aplikace, naplánovat aplikaci na mimopracovní dobu, vyřešit základní problém s pamětí, vyladit výkon aplikace nebo systémového softwaru nebo upgradovat váš hardware. To je příliš mnoho na to, abych se zde zabýval, takže tyto možnosti prozkoumám v mém dalším článku.

Běžná problémová místa procesoru

Při monitorování vašich CPU pomocí System Monitor narazíte na několik běžných překážek.

Někdy je jeden logický procesor omezený, zatímco všechny ostatní jsou málo vytížené. To znamená, že máte aplikaci, která není dostatečně chytře nakódována, aby mohla využívat výhod více než jednoho logického procesoru, a je maximálně využita pro ten, který používá. Dokončení této aplikace bude trvat déle, než kdyby používala více procesorů. Na druhou stranu to alespoň ponechává vašim dalším procesorům volnost pro další práci a nepřebírá váš počítač.

Můžete také vidět, že logický procesor je navždy zaseknutý při 100% využití. Buď je velmi zaneprázdněn, nebo je proces pozastaven. Způsob, jak zjistit, zda je zablokován, je, že proces nikdy neprovádí žádnou aktivitu na disku (jak zpracovává nástroj Sledování systému zobrazí se panel).

Nakonec si můžete všimnout, že když jsou všechny vaše procesory úzké, je plně využita i vaše paměť. Nedostatek paměti někdy způsobuje problémová místa procesoru. V tomto případě chcete vyřešit základní problém s pamětí, nikoli symptomatický problém s CPU.

Jak identifikovat problémová místa v paměti

Vzhledem k velkému množství paměti v moderních počítačích jsou úzká hrdla paměti mnohem méně běžná než kdysi. Přesto se s nimi můžete setkat, pokud spouštíte programy náročné na paměť, zvláště pokud máte počítač, který neobsahuje mnoho paměti RAM (random access memory).

Linux používá paměť jak pro programy, tak pro ukládání dat na disku. Ten druhý zrychluje přístup k datům na disku. Linux může tuto paměť získat zpět, kdykoli ji potřebuje pro programové použití.

Prostředky nástroje System Monitor panel zobrazuje vaši celkovou paměť a její využití. V části Procesy panelu, můžete vidět využití paměti jednotlivými procesy.

Zde je část Zdroje nástroje Sledování systému panel, který sleduje využití agregované paměti:

Napravo od Memory si všimnete Swap. Toto je místo na disku, které Linux používá, když mu dochází paměť. Zapisuje paměť na disk, aby mohl pokračovat v operacích, efektivně využívá swap jako pomalejší rozšíření vaší RAM.

Dva problémy s výkonem paměti, na které byste si měli dát pozor, jsou:

  1. Zdá se, že paměť je z velké části využívána a ve swapovacím prostoru vidíte častou nebo rostoucí aktivitu.
  2. Paměť i swap jsou z velké části vyčerpány.

Situace 1 znamená pomalejší výkon, protože swap je vždy pomalejší než paměť. Zda to považujete za problém s výkonem, závisí na mnoha faktorech (např. jak aktivní je váš odkládací prostor, jeho rychlost, vaše očekávání atd.). Můj názor je, že cokoli jiného než použití token swapu je pro moderní osobní počítač nepřijatelné.

Situace 2 je situace, kdy se z velké části používá paměť i swap. Toto je úzké hrdlo paměti. Počítač přestane reagovat. Mohlo by to dokonce upadnout do stavu mlácení , kde dosahuje jen o málo více než správy paměti.

Obrázek 6 výše ukazuje starý počítač s pouze 2 GB RAM. Když využití paměti přesáhlo 80 %, systém začal zapisovat na swap. Odezva klesla. Tento snímek obrazovky ukazuje více než 90% využití paměti a počítač je nepoužitelný.

Konečnou odpovědí na problémy s pamětí je buď používat méně, nebo koupit více. Řešení proberu v mém navazujícím článku.

Jak identifikovat úzká místa úložiště

Úložiště dnes přichází v několika variantách pevných a mechanických pevných disků. Rozhraní zařízení zahrnují PCIe, SATA, Thunderbolt a USB. Bez ohledu na to, jaký typ úložiště máte, k identifikaci úzkých míst disku používáte stejný postup.

Začněte s Sledováním systému. Jeho Procesy panel zobrazuje vstupní/výstupní rychlosti pro jednotlivé procesy. Můžete tak rychle zjistit, které procesy dělají nejvíce diskových I/O.

Nástroj však neukazuje celkovou rychlost přenosu dat na disk. Musíte vidět celkové zatížení konkrétního disku, abyste mohli určit, zda je tento disk úzkým hrdlem úložiště.

Chcete-li to provést, použijte příkaz atop. Je k dispozici ve většině linuxových repozitářů.

Stačí zadat atop na příkazovém řádku. Níže uvedený výstup ukazuje toto zařízení sdb je busy 101% . Je zřejmé, že dosáhl svého výkonnostního limitu a omezuje, jak rychle může váš systém pracovat.

Všimněte si, že jeden z procesorů čeká na disku, aby provedl svou práci 85 % času (cpu001 w 85% ). To je typické, když se úložné zařízení stane úzkým hrdlem. Ve skutečnosti se mnozí nejprve dívají na CPU I/O čeká na odhalení úzkých míst úložiště.

Chcete-li tedy snadno identifikovat úzké místo úložiště, použijte atop příkaz. Poté použijte Procesy panelu na Sledování systému k identifikaci jednotlivých procesů, které způsobují úzké hrdlo.

Jak identifikovat úzká hrdla portu USB

Někteří lidé používají své USB porty celý den. Přesto nikdy nekontrolují, zda jsou tyto porty využívány optimálně. Ať už připojíte externí disk, paměťovou kartu nebo něco jiného, ​​budete chtít ověřit, že ze zařízení připojených přes USB získáváte maximální výkon.

Tento graf ukazuje proč. Potenciální rychlosti přenosu dat přes USB se obrovsky liší .

Zařízení USB HardInfo karta zobrazuje standardy USB, které váš počítač podporuje. Většina počítačů nabízí více než jednu rychlost. Jak můžete zjistit rychlost konkrétního portu? Prodejci je barevně odliší, jak je znázorněno v tabulce. Nebo se můžete podívat do dokumentace k počítači.

Chcete-li vidět skutečné rychlosti, které získáváte, otestujte pomocí open source programu GNOME Disks. Stačí spustit GNOME Disks, vybrat jeho Benchmark Disk a spusťte benchmark. To vám říká maximální skutečnou rychlost, kterou získáte pro port s konkrétním zařízením zapojeným do něj.

Pro port můžete získat různé přenosové rychlosti v závislosti na tom, které zařízení do něj zapojíte. Rychlost přenosu dat závisí na konkrétní kombinaci portu a zařízení.

Například zařízení, které by mohlo létat rychlostí 3.1, bude používat port 2.0 – rychlostí 2.0 – pokud je to zapojíte. (A neřekne vám, že pracuje při nižší rychlosti!) Naopak, pokud zapojíte zařízení USB 2.0 do portu 3.1, bude fungovat, ale rychlostí 2.0. Chcete-li tedy získat rychlé USB, musíte zajistit, aby jej podporoval port i zařízení. Disky GNOME vám poskytují prostředky k ověření.

Chcete-li identifikovat problémové místo zpracování USB, použijte stejný postup jako pro pevné disky a pevné disky. Spusťte atop příkaz k odhalení úzkého hrdla úložiště USB. Poté použijte nástroj Sledování systému k získání podrobností o problematických procesech.

Jak identifikovat problémová místa v šířce pásma internetu

Prostředky sledování systému panel vám v reálném čase sdělí, jakou rychlost internetového připojení máte (viz obr. 1).

Existují skvělé nástroje Pythonu pro testování maximální rychlosti internetu, ale můžete ji také otestovat na webech jako Speedtest, Fast.com a Speakeasy. Nejlepších výsledků dosáhnete, když vše zavřete a spustíte pouze rychlostní test; vypněte VPN; provádět testy v různou denní dobu; a porovnejte výsledky z několika testovacích webů.

Poté porovnejte své výsledky s rychlostí stahování a odesílání, kterou podle vašeho dodavatele dosahujete. Tímto způsobem můžete potvrdit, že dosahujete rychlosti, za kterou platíte.

Pokud máte samostatný router, otestujte s ním i bez něj. To vám může říct, zda je váš router úzkým hrdlem. Pokud používáte WiFi, otestujte s ní i bez ní (přímým propojením notebooku s modemem). Často jsem viděl, jak si lidé stěžují na svého prodejce internetu, když ve skutečnosti mají problém s WiFi, který by mohli opravit sami.

Pokud nějaký program spotřebovává celé vaše internetové připojení, chcete vědět, který z nich. Najděte jej pomocí nethogs příkaz. Je k dispozici ve většině úložišť.

Onehdy můj systémový monitor náhle ukázal, že můj přístup k internetu stoupá. Právě jsem napsal nethogs v příkazovém řádku a okamžitě identifikoval spotřebitele šířky pásma jako aktualizaci antiviru Clamav.

Jak identifikovat úzká místa zpracování grafiky

Pokud připojíte monitor k základní desce v zadní části stolního počítače, používáte integrovanou grafiku . Pokud jej zapojíte do karty v zadní části, máte vyhrazený grafický subsystém. Většina tomu říká grafická karta nebo grafická karta. U stolních počítačů jsou přídavné karty obvykle výkonnější a dražší než grafika základní desky. Notebooky vždy používají integrovanou grafiku.

Zařízení PCI HardInfo panel vás informuje o vaší grafické procesorové jednotce (GPU). Zobrazuje také množství vyhrazené video paměti, kterou máte (hledejte paměť označenou jako „prefetchable“).

CPU a GPU spolu velmi úzce spolupracují. Pro zjednodušení CPU připraví snímky pro GPU k vykreslení, poté GPU vykreslí snímky.

Úzké místo GPU nastane, když vaše CPU čekají na GPU, který je 100% vytížený.

Chcete-li to zjistit, musíte sledovat míru využití CPU a GPU. Open source monitory jako Conky a Glances to dělají, pokud jejich rozšíření fungují s vaší grafickou čipovou sadou.

Podívejte se na tento příklad z Conky. Můžete vidět, že tento systém má spoustu dostupných CPU. GPU je vytíženo pouze z 25 %. Představte si, že by toto číslo GPU bylo místo toho blízko 100 %. Pak byste věděli, že CPU čekají na GPU, a měli byste úzké hrdlo GPU.

Na některých systémech budete ke sledování GPU potřebovat nástroj specifický pro dodavatele. Všechny jsou ke stažení z GitHubu a jsou popsány v tomto článku o monitorování GPU a diagnostických nástrojích příkazového řádku.

Přehled

Počítače se skládají z kolekce integrovaných hardwarových prostředků. Pokud by některý z nich ve svém pracovním vytížení výrazně zaostával za ostatními, vytváří to úzké hrdlo výkonu. To může zadržet celý váš systém. Abyste dosáhli optimálního výkonu, musíte být schopni identifikovat a opravit úzká hrdla.

Není to tak dávno, co identifikace úzkých míst vyžadovala hluboké odborné znalosti. Dnešní open source monitory výkonu GUI to velmi zjednodušují.

V mém dalším článku se budu zabývat konkrétními způsoby, jak zlepšit výkon vašeho počítače se systémem Linux. Mezitím se prosím podělte o své vlastní zkušenosti v komentářích.


Linux
  1. Identifikujte vlastnosti zabezpečení v systému Linux pomocí checksec

  2. Linuxový systém řazení front

  3. Nástroje pro přetaktování v Linuxu

  1. Nástroje a tipy s otevřeným zdrojovým kódem pro zlepšení výkonu počítače se systémem Linux

  2. 6 open source nástrojů a tipů pro zabezpečení linuxového serveru pro začátečníky

  3. 3 open source nástroje, díky kterým je Linux ideální pracovní stanicí

  1. Můj příběh o Linuxu:Pokrytí open source ve španělštině

  2. Top 5 nástrojů pro ukládání do mezipaměti pro Linux s otevřeným zdrojovým kódem doporučených geeky

  3. Použití iostatu k monitorování výkonu systému v Linuxu (včetně příkladů)