jak a proč sledovat využití CPU serveru

když používám jakoukoli aplikaci, chci, aby to bylo rychlé. Rychlé aplikace mi dělají radost. A určitě je to se všemi stejné. Pokud vlastníte jakoukoli aplikaci, která pracuje s internetem, je nezbytné zaměřit se na výkon serveru. Existuje spousta věcí, o které se musíte postarat, abyste měli dobře fungující server. Ale abyste něco vylepšili,musíte vědět, kde to stojí. Sledování serveru je proto prvním krokem ke zvýšení výkonu serveru.

když mluvíme o tom, co sledovat, abychom porozuměli výkonu serveru, existuje mnoho metrik, které se mohou objevit. V tomto příspěvku se zaměříme pouze na jednu: využití CPU serveru. Začneme tím, že vysvětlíme, co je využití CPU serveru, a pak budeme diskutovat o tom, proč a jak jej sledovat.

CPU v barvách Scalyr označující monitor využití cpu serveru

co znamená využití CPU serveru?

vše, co se děje na Serveru, je úkolem systému. Tato úloha se rozdělí na procesy, které provádí server. Procesy mohou mít různé složitosti a liší se v tom, jak rychle je lze dokončit. A na základě toho CPU trvá nějaký čas, než proces provede. Jinými slovy, CPU se používá k provedení procesu. Využití CPU je procento času, který CPU používá k dokončení svých úkolů.

monitor využití CPU serveru

když je váš systém v provozu, CPU může být ve třech stavech: nečinný, zaneprázdněný nebo čekající na I/O.

nečinný

když je CPU v klidovém stavu, CPU nedělá nic. Jen čeká na úkol, který mu bude přidělen. Je velmi nepravděpodobné, že byste viděli procesor v klidovém stavu, pokud máte jediný procesorový systém. I když nespouštíte žádnou aplikaci nebo neděláte nic, procesor by byl použit k provádění úloh operačního systému. Pokud však váš systém má více procesorů, můžete vidět jeden nebo některé z nich nečinné. Může to být proto, že se používá pouze jeden nebo několik procesorů a ostatní nemají co dělat.

Busy

opakem klidového stavu je busy state, což je, když se CPU používá k provedení procesu. CPU je zodpovědný za různé typy úkolů. Během procesu provádění úkolů CPU dělá čtyři věci:

  1. načíst: pokyny k dokončení úkolu jsou uloženy v paměti. CPU musí získat tyto pokyny z paměti, aby pochopil, co má dělat.
  2. dekódovat: pokyny pro CPU mohou být v různých formátech, například v programu. Řekněme například, že jste napsali program v jazyce C, Java nebo Python. Procesory nemohou přímo porozumět těmto kódovacím jazykům. Musí to dekódovat do formy, které rozumí.
  3. Execute: To je, když CPU skutečně dělá úkol.
  4. skladování: jakmile CPU dokončí úkol, musí poskytnout zpětnou vazbu o úkolu. Výsledky po provedení úlohy jsou uloženy do paměti.

I / O operace

Toto je stav, kdy CPU není zcela nečinný, ale není zaneprázdněn. Během provádění procesu může CPU muset výstup některých dat do jiné komponenty nebo procesu. Nebo CPU možná bude muset počkat na získání dat z jiného procesu nebo komponenty. V takovém případě čeká na dokončení operace I / O, aby mohla pokračovat v provádění svého úkolu.

využití CPU je měřítkem CPU, když je v nečinném stavu. Ačkoli využití CPU se měří v procentech, můžete vidět, že hodnoty využití CPU jsou větší než 100%. To neznamená, že procesor je přetížen. Například byste viděli využití CPU větší než 100% v multiprocesorových systémech. Hodnota využití CPU pro systém je součtem procenta využití CPU jednotlivých procesorů. Takže pokud máte dva procesory a jeden z nich má využití CPU 60% a druhý má využití CPU 50%, celková hodnota využití CPU by byla 110%.

co způsobuje vysoké využití procesoru?

nalezení jádra problému vám pomůže implementovat lepší řešení pro vysoké využití procesoru. Na základě případů použití mohou existovat různé důvody pro použití procesoru. Uvádím nejčastější příčiny.

procesy s vysokým požadavkem CPU

některé programy vyžadují vysoké zdroje CPU. Pokud máte systém s nízkou specifikací a pokoušíte se spustit špičkovou videohru, využití procesoru samozřejmě projde střechou. Podobně mohou existovat různé procesy, které vyžadují vysoké zdroje CPU, aby fungovaly. Takové procesy nebo řada procesů, které jako mezisoučet využívají vysoký procesor, mohou být jednou z příčin. Na serverech běží více služeb, aby byl server spuštěn, simulace atd., může způsobit vysoké využití procesoru.

procesy na pozadí

procesy lze primárně rozdělit do 2 kategorií: systémové procesy a aplikační procesy. Systémové procesy jsou procesy, které jsou potřebné k udržení chodu systému. Aplikační procesy jsou procesy, které byste použili pro konkrétní účel. Když tyto procesy stále běží na pozadí, jedí zdroje CPU.

mnoho aplikačních procesů běží na pozadí i po zavření okna aplikace. To je méně pravděpodobné, že se to stane na serveru, protože server je obvykle udržován a pravidelně čištěn, aby měl pouze procesy, které potřebuje, ale je to stále možné.

Malware

Malware (škodlivý Software) jsou programy používané škodlivými aktéry k útoku na váš systém nebo k provádění nelegitimních akcí ve vašem systému. Zpočátku malware nevyužívá vysoké zdroje CPU, aby zůstal skrytý, ale když začnou provádět škodlivé akce, způsobují vysoké využití procesoru. Byl jsem svědkem tohoto incidentu, kdy byl malware vyvolán na serveru před týdnem a jednoho dne začal přenášet všechna citlivá data ze serveru do cloudového úložiště. Takže tento malware nepoužíval mnoho zdrojů CPU, když nastavoval věci a hledal kritická data. Ale jakmile našel vše, co potřeboval, došlo k obrovskému nárůstu využití CPU v důsledku přenosu dat.

Neoptimalizovaný kód

je běžné mít vlastní kód běžící na serverech pro konkrétní úkoly. Pokud takové kódy nejsou optimalizovány, mohou skončit s použitím mnoha zdrojů CPU. Neoptimalizované smyčky a rekurze jsou některé z nejčastějších příčin vysokého využití CPU kvůli neoptimalizovanému kódu.

běžné opravy pro vysoké využití CPU

na základě dříve řešených běžných příčin se podívejme na některé běžné opravy pro vysoké využití CPU.

Restart

restart systému je řešením většiny problémů s počítačem. Jak by to pomohlo snížit využití procesoru? Restart by uzavřel všechny procesy na pozadí, které by mohly být spuštěny kvůli nějaké akci, ale již ji nepotřebujete. To by také ukončit zombie procesy nebo jiné procesy, které jsou na dobu neurčitou běží kvůli poruše. Restartování systému by tedy vyčistilo všechny (alespoň většinu) nepotřebných procesů a snížilo využití procesoru.

ukončení procesů na pozadí

restartování systému nemusí být proveditelné zejména pro servery. Takže budete muset zvládnout zbytečné procesy bez restartování systému. Chcete-li to provést, můžete uvést všechny spuštěné procesy, zjistit, které procesy jsou zbytečné, a ukončit je. Takto by to vypadalo ve Správci úloh systému windows:

monitor využití CPU serveru

další opravou je řešení spouštěcích procesů. Existují některé procesy, které jsou nakonfigurovány tak, aby se spustily, jakmile se systém spustí. Některé z nich jsou nezbytné a některé ne. Tyto procesy můžete identifikovat a deaktivovat je z automatického spouštění. Ve windows je najdete na kartě „spuštění“ ve Správci úloh:

monitor využití CPU serveru

Anti-Malware

Malware je nebezpečný. Nejen z hlediska využití CPU, ale obecně také. Některé malware způsobit vysoké využití CPU a pomocí anti-malware může být vaše nejlepší obrana proti takovému malwaru. Moderní anti-malware software jsou inteligentní a pokročilé. Mohou nejen identifikovat malware ve vašem systému a odstranit nebo karanténu, ale mohou také zabránit tomu, aby se malware dostal do vašeho systému. Takže pomocí anti-malware, budete nejen stanovení vysoké využití CPU, ale také zabránit vysoké využití CPU v důsledku malwaru.

Optimalizace kódu

pokud zjistíte, že důvodem vysokého využití procesoru je neoptimalizovaný kód, musíte jej optimalizovat. Budete muset analyzovat kód a zjistit, jaká část kódu spotřebovává prostředky CPU a optimalizovat jej.

CPU Upgrade

pokud jste opravili všechny ostatní problémy a optimalizovali vše a stále vidíte vysoké využití CPU, znamená to, že váš požadavek na CPU je vysoký. V takových případech neexistuje jiná možnost, než Upgradovat zdroje CPU.

proč byste měli sledovat využití CPU serveru?

server může mít dva typy úloh, které lze dokončit na vysoké úrovni: práci od uživatele a práci v systému. Úloha od uživatele je, když uživatel požádal o službu nebo data ze serveru. Řekněme, že jdete na YouTube a něco hledáte. Server YouTube musí načíst všechna videa relevantní pro vaše vyhledávání a odeslat je jako odpověď na vaši žádost. Tato transakce dat využívá čas CPU.

server má jiné úkoly, než jen reagovat na uživatele. Je samozřejmé, že jeho procesor se používá ke spuštění operačního systému a webových služeb. Ale kromě toho mohou být servery použity ke spuštění některých skriptů pro zpracování dat. Jedním z běžných příkladů je spuštění Ansible playbooks. Tyto playbooks mohou provádět úkoly i bez toho, aby uživatel musel zasáhnout.

Správa zdrojů a úkolů

pokud je využití procesoru nízké, ztrácíte zdroje. A pokud je využití procesoru velmi vysoké, systém se zpomalí a může začít zaostávat. Nechcete, aby se to stalo, a proto je důležité sledovat využití CPU serveru. Monitorování využití CPU serveru vám pomůže pochopit, kolik CPU se používá. To vám pomůže při rozhodování, zda můžete, aby váš procesor dělat více pracovních míst nebo zvýšit své zdroje obstarávat nezbytnost.

optimalizace programů

Monitorování využití CPU serveru bylo velmi výhodné pro správu zdrojů a optimalizaci úkolů. Byly případy, kdy programy zabírají více času, než by v ideálním případě měly brát. Když vidíte, že využití procesoru je vyšší i při provádění krátkého a jednoduchého programu, víte, že s vaším programem je něco špatně. Programy často nejsou efektivní kvůli špatné programovací praxi. Sledování využití CPU vám může pomoci najít takové instance a optimalizovat kód. Sledování využití CPU je tedy jako bít dva ptáky jediným kamenem.

Nyní, když jsme skončili s “ co “ a „proč“ využití CPU a naučili jsme se, jak prospěšné může být využití CPU monitorovacího serveru, pojďme k části „Jak“.

jak sledovat využití CPU serveru

využití CPU není něco jako peníze, které můžete ušetřit po určitou dobu a poté je použít, když chcete. Nepoužitý procesor je zbytečný zdroj. To je důvod, proč každý chce, aby využití CPU serveru bylo téměř 100%. A aby to bylo v celé své kráse, možná budete muset udělat nějaké vylepšení a aktualizovat systém. Chcete-li vědět, co dělat, musíte znát aktuální stav využití CPU serveru.

můžete zkontrolovat využití procesoru serveru pomocí jediného příkazu. Pokud máte operační systém Windows, otevřete příkazový řádek a spusťte tento příkaz:

wmic cpu get loadpercentage

měli byste vidět procento využití CPU, jak je znázorněno na tomto snímku obrazovky:

na základě vašeho požadavku můžete pravidelně dotazovat na využití procesoru a někde ukládat data a později se na ně podívat. Nebo můžete streamovat využití procesoru do řídicího panelu a sledovat jej kdykoli.

většina operačních systémů přichází s vestavěnými nástroji a nástroji pro monitorování využití CPU. Ale tyto nástroje mají omezení a jsou obvykle příliš základní. V současné době potřebujeme pokročilé funkce pro řešení a práci na monitorovacích datech, což vyžaduje potřebu pokročilých monitorovacích nástrojů. Téměř každá služba je nyní online. A servery hrají důležitou roli při zpřístupňování těchto služeb. Nemůžete si dovolit čekat několik hodin, abyste věděli, že váš server je nefunkční kvůli vysokému využití procesoru. Musíte neustále sledovat využití procesoru a další metriky serveru.

monitorujte nepřetržitě

Kontrola využití procesoru serveru V jednom okamžiku není příliš užitečná. Potřebujete řešení pro nepřetržité sledování využití CPU serveru. Téměř každý operační systém serveru je dodáván s monitorem výkonu, kde můžete vidět využití procesoru v daném okamžiku. Při sledování využití procesoru serveru byste měli hledat hroty, protože náhlé změny v používání procesoru naznačily, že se stalo něco neobvyklého.

spolu s monitorováním využití CPU v reálném čase Chcete tato data ukládat, abyste je mohli vizualizovat a analyzovat v různých intervalech. Chcete-li získat co nejvíce ze statistik využití CPU, měli byste shromažďovat údaje o využití CPU v pravidelných intervalech (nejlépe v reálném čase) generováním protokolů a měli byste je vizualizovat ve formě grafů. Právě jsme mluvili o jedné metrice, ale nezapomeňte, že využití CPU serveru není jediná věc, kterou je třeba sledovat. Chcete-li získat vše, co potřebujete na jednom místě, použijte Scalyr.

Leave a Reply

Vaše e-mailová adresa nebude zveřejněna.