Jak zjistit, co procesor žere. Systémový proces zatěžuje procesor: proč k tomu dochází a jak problém vyřešit

Poměrně často dochází k situacím, kdy uživatelé, kteří si všimnou, že se jejich počítače mírně řečeno zpomalují, otevřou správce úloh a uvidí tam zajímavý obrázek. Procesor je 100% vytížen, i když neběží žádné „těžké“ aplikace. Plné vytížení procesoru není známo a je důvodem zpomalení a zamrzání PC.

V tomto článku vám poskytneme praktické rady, jak tento problém vyřešit.

Důvody, proč může být procesor 100% vytížen

Nyní si uvedeme nejpravděpodobnější důvody téměř úplného vytížení procesoru, když na něm na první pohled neběží žádné programy nebo hry.

  1. Práce systémových procesů na pozadí pro instalaci a stahování aktualizací operačního systému a také jeho údržbu;
  2. Virová aktivita;
  3. Fyzická zastaralost procesoru.

Nyní o každém podrobněji.

Spuštění procesů systému na pozadí

Operační systém Windows 7, stejně jako každý jiný, je pravidelně aktualizován. Tento proces ve většině případů probíhá skrytě před uživatelem a je za něj odpovědná služba.

svchost načte procesor

Je také možné, že operační systém bude pravidelně kontrolován na přítomnost hrozeb pomocí vestavěných bezpečnostních nástrojů.

Ve skutečnosti je jedno, která systémová služba zatěžuje procesor. Důležité je něco jiného. Že to obvykle netrvá déle než pár hodin. Proto první věcí, kterou je třeba udělat při detekci zvýšené aktivity a zátěže procesoru, je jednoduše nechat počítač na několik hodin, aby měl příležitost provést veškerou svou „údržbu“.

Virová aktivita a viry - těžaři

Druhý velmi častý důvod, proč počítač bez viditelných programů zatěžuje procesor na 100 %, je nejasný – jde o malware. Velmi populární je nyní například tzv. virus miner. Do vašeho počítače se dostane nejčastěji při stahování a instalaci něčeho z internetu. A podstata jeho práce je jednoduchá – když zasáhne váš počítač, spustí se speciální algoritmy, které těží bitcoiny na vašem počítači a výsledky pošlou přes internet na konkrétní adresu. Útočníci tak na vašem počítači vydělávají peníze, čímž vám zanechají pomalý počítač, protože jeho procesor je vytížen na 100 %. Přitom se maskují jako názvy systémových procesů!

Pokud tedy po několika hodinách nečinnosti váš počítač nesnížil zatížení procesoru, doporučujeme vám a je lepší používat několik různých aktualizovaných antivirů.

Zastarávání zejména počítače a procesoru

Existuje také situace, ve které je počítač jednoduše zastaralý a jeho procesor jednoduše nezvládá systémové úkoly údržby a ochrany operačního systému na pozadí. To je ale možné jen na opravdu starých procesorech 10 a více let starých s 1 jádrem.

Závěr

Jak vidíte, možností není mnoho. A způsob, jak vyřešit problém s využitím CPU na 100 procent, je následující:

  1. Zkontrolujeme procesor, abychom se ujistili, že není příliš starý;
  2. Počítač necháme několik hodin zapnutý a připojený k internetu;
  3. Zkontrolujeme, zda neobsahuje viry;
  4. Můžete také otevřít správce úloh, seřadit procesy podle zatížení CPU a přečíst si o procesu, který využívá nejvíce CPU na internetu;
  5. Jako poslední možnost, pokud vše ostatní selže, přeinstalujte Windows a okamžitě .

Tento článek se zaměří na řešení problémů s vysokou zátěží CPU a také na způsoby, jak výkon CPU optimalizovat.

Mnoho uživatelů PC se často setkává s problémem velkého zatížení procesoru. Nyní se podíváme na způsoby, jak snížit zátěž a zároveň zvýšit výkon systému.

Jsou chvíle, kdy je procesor neustále zatížen na 100 %, zatímco na počítači nejsou prováděny žádné akce. Řekněme, že plocha je jednoduše otevřená a správce úloh zobrazuje maximální zatížení procesoru.

Ne všichni uživatelé vědí, že je možné zjistit, jaké procento jejich procesoru je zatíženo, a někteří vidí, že je zatíženo, ale nepodniknou žádnou akci, aby to vyřešili. A to se nedoporučuje.

Při vysoké zátěži CPU počítač začne pracovat pomalu, ale k tomu všemu se v této době velmi zahřívá procesor a chladicí systém si s chlazením nemusí poradit. A to je plné selhání procesoru a poškození základní desky.

Co zatěžuje procesor?

Zejména dochází k velkému zatížení procesoru v důsledku velké množství procesů na pozadí, otevřené programy, minimalizované hry.

Také to lze vyčítat různým viry a antiviry, které se velkou měrou podílejí na zátěži procesoru.

Jaké mohou být důsledky velkého zatížení CPU?

Selhání procesoru— při dlouhodobém velkém zatížení procesoru může dojít k jeho spálení. Ani dobrý chladicí systém zde nepomůže. Při zátěži se procesor zahřívá, je to znát zejména na notebookech – chladič začne hodně hučet a spodní část se zahřívá, což vede k výraznému nepohodlí.

Pomalý počítač- při velkém zatížení se okna otevírají velmi pomalu. Po otevření budou viditelné všechny druhy „artefaktů“. A používat počítač bude prostě nemožné.

Jak zjistím, čím je procesor nabitý?

Pokud si toho všimnete počítač začal běžet pomaleji obvyklé po nějaké akci nebo je slyšet silný hluk z chlazení notebooku a jeho zahřívání, pak byste měli věnovat pozornost zatížení procesoru.

Správce úloh

Chcete-li vidět procento zatížení procesoru, otevřete správce úloh a v záložce „Výkon“ uvidíte graf, který ukazuje zatížení každého jádra a také celého procesoru.

Ve Windows 8 to vypadá trochu jinak: když otevřete Správce úloh, musíte jej rozbalit kliknutím na tlačítko Další podrobnosti.

Po kliknutí se objeví okno s pokročilými funkcemi a podrobným popisem a grafem zatížení CPU.

Pokud je tedy váš procesor zatížen na 100 %, zobrazí se jeho maximální taktovací frekvence, pak je potřeba nejprve odstranit nepotřebné programy ze spouštění (vše je podrobně popsáno o spouštění).

V operačním systému Windows 8 je funkce automatického spouštění umístěna na pohodlnějším místě - správci úloh.

Otevřete kartu Po spuštění a uvidíte všechny programy, které se spouštějí při spuštění operačního systému. Věnujte pozornost vlivu. Tento odstavec ukazuje dopad na zatížení. Pokud je nadprůměrný, důrazně se doporučuje tento program vyloučit autostart, jinak bude procesor načten od samého začátku operačního systému.

Viry

Většina virů silně zatěžuje procesor a také obecně snižuje výkon počítače a může vést ke ztrátě důvěrnosti vašich osobních údajů.

Antiviry

Bez ohledu na to, jak divně se to může zdát, antiviry mohou značně zatěžovat procesor. Doporučuje se nepoužívat antiviry, ale jednou měsíčně používat léčebné nástroje. Nevyžadují instalaci, ale jsou stále efektivnější než neustále spuštěný antivirus (příkladem takové utility je dr.Web CureIt!).

Chladicí systém je nestabilní

Zkontrolujte, zda ventilátory fungují stabilně a zda nejsou velmi prašné. Pokud je hodně prachu, musíte ventilátor vypnout a demontovat a poté jej důkladně vyčistit opatrným otřením lopatek ventilátoru vatovým tamponem navlhčeným čistým alkoholem.

Pozor si dejte také na stav teplovodivé pasty. Pro dobrou interakci mezi procesorem a chladičem se používá teplovodivá pasta. Postupem času se promění v prášek, po kterém se procesor začne zahřívat a jeho zátěž se zvyšuje. Teplovodivou pastu se doporučuje měnit alespoň jednou ročně.


Při provádění jakékoli optimalizace je povinné sledování zatížení procesoru. Prostředky procesoru musí být dostupné všem aplikacím. Pokud tomu tak není, musíte pochopit, jak systém používá procesor. V moderních systémech je vážným problémem spotřeba procesorových zdrojů zdroji, které nesouvisejí s uživatelskými aplikacemi. Patří sem:

  • programy na pozadí, jako jsou programy pro stahování;
  • programy monitorování systému, například programy agentů;
  • viry;
  • jiné monitorovací programy, například spyware a adware;
  • problémy s konfigurací systému, například nesprávné ovladače;
  • hardwarové problémy, jako jsou problémy s instalací základní desky.

Než budete pokračovat, musíte zjistit, zda má váš počítač skutečné problémy s využitím procesoru. Nejlepší způsob, jak to udělat, aniž byste se uchýlili ke sledování, je klepnout pravým tlačítkem myši na hlavní panel a z kontextové nabídky vybrat Správce úloh. V okně Správce úloh přejděte na kartu Výkon. V zobrazeném příkladu jsou dva procesory, ale tato karta vypadá stejně pro jednoprocesorové stroje.

Ve Windows 9x je přístup ke správci úloh poněkud složitější než ve verzích NT a vyšších. Chcete-li otevřít správce úloh ve Windows 9x, stiskněte klávesy Ctrl+Alt+Delete a v dialogovém okně, které se objeví, uvidíte seznam aplikací spuštěných ve vašem systému. Bohužel systémy Windows 9x postrádají některé funkce dostupné v pozdějších verzích. Například Správce úloh neumožňuje určit množství paměti spotřebované jednotlivými aplikacemi a celkový výkon systému.

Uživatelé systému Windows 2000 neuvidí kartu Síť. Ačkoli tato karta není v této knize často zmíněna, je užitečná pro optimalizaci vzdálených aplikací a aplikací, které využívají prostředky z jiných počítačů. Chcete-li získat přístup k podobným nástrojům systému Windows 2000, musíte použít modul snap-in Sledování systému konzoly Výkon, který se nachází ve složce Nástroje pro správu v Ovládacích panelech.

Nechte počítač na pokoji – nedotýkejte se myši a klávesnice. Po několika sekundách by měl indikátor v levém horním rohu ukazovat hodnotu mezi 0 a 5 %. S touto hodnotou zátěže v klidu není problém s vytížením procesoru – systém má maximum prostředků pro aplikace na pozadí. Přísně vzato, nenulová hodnota značí problém, ale není natolik vážný, abychom přemýšleli o jeho vyřešení.

První otázkou, kterou je třeba zodpovědět, je, zda ve vašem systému běží další úlohy. Nenulové zatížení systému může být například způsobeno stahováním souborů ze sítě na pozadí. Počkejte na dokončení a znovu proveďte test procesoru. Programy na pozadí vždy spotřebovávají zdroje CPU a nyní je čas přesně určit, jak moc. Pokud váš systém odvádí užitečnou práci, budete muset počkat na jeho dokončení a test znovu odložit, například na polední přestávku.

Další problém může být způsoben problémy s hardwarem nebo ovladačem. Některé starší základní desky například obsahují nesprávně implementované dodatečné komponenty, což má za následek 50procentní spotřebu procesoru v daném okamžiku, i když procesor nevykonává žádnou užitečnou práci. Jeden příklad lze nalézt v článku http://support.microsoft.com/7kbid = 241532 Microsoft Knowledge Base.

Problémy mohou způsobit i ovladače. Nesprávný ovladač může výrazně zvýšit zátěž procesoru, což se projeví, když je systém v klidu. Příklad najdete v článku znalostní báze Microsoft Knowledge Base http://support.microsoft.com/7kbid = 822603.

Vysoké využití procesoru může být důsledkem vnějších faktorů, jako je útok odmítnutí služby. Další informace naleznete v článku znalostní báze Microsoft Knowledge Base http://support.microsoft.com/7kbid = 273854.

Pokud pracujete v podnikovém prostředí, správce možná nainstaloval do vašeho systému programy agentů, které řeší různé problémy. Jednou z nejběžnějších úloh je archivace na pozadí, což je postup, který pomáhá předcházet ztrátě dat, ale vyžaduje další systémové prostředky. Pokud nevíte, zda na vašem systému běží program agenta, obraťte se na správce systému.

Někdy je vysoké využití procesoru na pozadí známkou mnohem vážnějších problémů. V nejhorším případě je problém způsoben viry, ale možná jste si omylem stáhli spyware do svého systému. Přestože instalace a stahování takových programů probíhá s vaším souhlasem, při běhu na pozadí spotřebovávají také výkon procesoru a další systémové prostředky, které by mohly být vynaloženy na jiné účely.

Často se počítač začne zpomalovat kvůli zatížení procesoru. Pokud se tak stane, že jeho zatížení dosáhne 100% bez zjevného důvodu, pak je důvod k obavám a musíte tento problém urychleně vyřešit. Existuje několik jednoduchých způsobů, které pomohou problém nejen identifikovat, ale také vyřešit. Podrobně se na ně podíváme v tomto článku.

Vytížení procesoru někdy dosahuje 100 %, i když nepoužíváte složité programy nebo neběžíte hry. V tomto případě se jedná o problém, který je potřeba odhalit a vyřešit, protože CPU se jen tak bezdůvodně nepřetíží. Můžete to udělat několika jednoduchými způsoby.

Metoda 1: Najděte a odstraňte proces

Jsou chvíle, kdy uživatelé nenarazí na problém, ale jednoduše zapomněli zakázat program náročný na zdroje nebo právě spouštějí nějakou úlohu. Zátěž se projeví zejména u starších procesorů. Kromě toho nyní získávají na popularitě skryté těžařské programy, které nejsou detekovány antiviry. Způsob, jakým fungují, je, že jednoduše spotřebovávají systémové prostředky vašeho počítače, a tím i zátěž CPU. Takový program je definován několika způsoby:

Pokud jste nenašli nic podezřelého, ale zatížení stále neklesá, musíte v počítači zkontrolovat skrytý těžařský program. Faktem je, že většina z nich buď přestane fungovat, když spustíte správce úloh, nebo se tam nezobrazí samotný proces. Proto se budete muset uchýlit k instalaci dalšího softwaru, abyste tento trik obešli.


Vezměte prosím na vědomí, že tuto metodu doporučujeme používat pouze v případě nesystémových souborů, jinak odstranění systémové složky nebo souboru způsobí problémy v systému. Pokud najdete nepochopitelnou aplikaci, která využívá veškerý výkon vašeho procesoru, pak je ve většině případů skrytý těžařský program, je lepší jej z počítače úplně odstranit.

Metoda 2: Čištění virů

Pokud některý systémový proces využívá 100 % CPU, je váš počítač s největší pravděpodobností napaden virem. Někdy se zatížení nezobrazuje ve Správci úloh, takže je lepší v každém případě skenovat a vyčistit malware, rozhodně to nezhorší.

Můžete použít jakoukoli dostupnou metodu čištění počítače před viry: online službu, antivirový program nebo speciální nástroje. Více podrobností o každé metodě je napsáno v našem článku.

Metoda 3: Aktualizujte ovladače

Než začnete aktualizovat nebo přeinstalovat ovladače, je lepší se ujistit, že jde o problém. Přepnutí do nouzového režimu s tím pomůže. Restartujte počítač a přepněte do tohoto režimu. Pokud zmizela zátěž CPU, tak je problém určitě v ovladačích a je potřeba je aktualizovat nebo přeinstalovat.

Přeinstalace může být vyžadována pouze v případě, že jste nedávno nainstalovali nový operační systém a nainstalovali nové ovladače. Možná se vyskytly nějaké problémy nebo něco nebylo nainstalováno a/nebo byla akce provedena nesprávně. Ověření se provádí zcela jednoduše pomocí jedné z několika metod.

Zastaralé ovladače mohou způsobit konflikty se systémem, což bude vyžadovat jednoduchou aktualizaci. Speciální program vám pomůže najít zařízení, které potřebujete aktualizovat, nebo to lze provést i ručně.

Metoda 4: Vyčištění počítače od prachu

Pokud začnete pozorovat zvýšený hluk z chladiče nebo nedobrovolné vypnutí/reboot systému, brzdění během provozu, pak v tomto případě problém spočívá právě v zahřívání procesoru. Mohla na něm zaschnout teplovodivá pasta, pokud nebyla delší dobu měněna, nebo se vnitřky pouzdra zanesly prachem. Nejprve je lepší vyčistit tělo od nečistot.

Když postup nepomůže, procesor stále vydává hluk, zahřívá se a systém se vypne, pak existuje pouze jedna cesta ven - výměna tepelné pasty. Tento proces není složitý, ale vyžaduje opatrnost a opatrnost.

V tomto článku jsme pro vás vybrali čtyři metody, které pomohou vyřešit problém neustálého 100% zatížení procesoru. Pokud jedna metoda nepřinese žádné výsledky, přejděte k další, problém rozhodně spočívá v jednom z těchto běžných důvodů.

  • Překlad

Metriku, kterou nazýváme „zatížení procesoru“, mnoho lidí ve skutečnosti nechápe zcela správně. Co je to „zatížení CPU“? Je náš procesor vytížený? Ne, to není pravda. Ano, ano, mluvím o stejném klasickém zatížení CPU, které ukazují všechny nástroje pro analýzu výkonu - od správce úloh systému Windows až po nejvyšší příkaz v Linuxu.

Co znamená „procesor je nyní zatížen z 90 %“? Možná si říkáte, že to vypadá nějak takto:

Ale ve skutečnosti to vypadá takto:

"Idle" znamená, že procesor je schopen vykonávat nějaké instrukce, ale nedělá to, protože na něco čeká - například I/O z RAM. Procento skutečné a nečinné práce na obrázku výše je to, co vidím den za dnem ve skutečných aplikacích běžících na skutečných serverech. Existuje značná šance, že váš program tráví čas v podstatě stejným způsobem a vy o tom nevíte.

co to pro vás znamená? Pochopení toho, kolik času procesor skutečně provádí určité operace a kolik času jen čeká na data, někdy umožňuje změnit váš kód a omezit výměnu dat s RAM. To platí zejména v současné realitě cloudových platforem, kde jsou zásady automatického škálování někdy přímo vázány na zatížení CPU, což znamená, že každý další cyklus „nečinné“ práce nás stojí velmi reálné peníze.

Co je to vlastně zátěž CPU?

Tato metrika, kterou nazýváme „zatížení CPU“ ve skutečnosti znamená něco jako „doba bez nečinnosti“: to znamená, že toto je množství času, které procesor strávil ve všech vláknech kromě speciálního „Idle“ vlákna. Jádro vašeho operačního systému (ať už je to cokoliv) měří toto množství času při přepínání kontextu mezi vlákny provádění. Pokud se vlákno provádění příkazu přepne na vlákno, které není nečinné a běží po dobu 100 milisekund, pak jádro operačního systému započítá tento čas jako čas, který CPU stráví prováděním skutečné práce v tomto vláknu.

Tato metrika se poprvé objevila v této podobě současně s příchodem operačních systémů pro sdílení času. Programátorská příručka pro počítač v lunárním modulu Apollo (v té době pokročilý systém sdílení času) nazvala jeho nečinné vlákno zvláštním názvem „DUMMY JOB“ a inženýři porovnávali počet příkazů provedených tímto vláknem s počtem příkazy prováděné pracovními vlákny – to jim umožnilo pochopit zatížení CPU.

Co je tedy na tomto přístupu špatného?

Dnes jsou procesory mnohem rychlejší než RAM a čekání na data začalo zabírat lví podíl toho, co jsme dříve nazývali „čas CPU“. Když ve výstupu příkazu top uvidíte vysoké procento využití procesoru, můžete si myslet, že úzkým hrdlem je procesor (hardware na základní desce pod chladičem a chladičem), i když ve skutečnosti půjde o úplně jiné zařízení - banky RAM.

Situace se časem dokonce zhoršuje. Výrobci procesorů byli po dlouhou dobu schopni zvyšovat rychlost svých jader rychleji, než výrobci pamětí zvyšovali rychlost přístupu k paměti a snižovali latenci. Někde v roce 2005 se na trhu objevily procesory s frekvencí 3 Hz a výrobci se soustředili na zvyšování počtu jader, hypertrading, vícesoketové konfigurace – a to vše kladlo ještě větší nároky na rychlost výměny dat! Výrobci procesorů se snažili problém nějak vyřešit zvětšením velikosti mezipaměti procesoru, rychlejšími sběrnicemi atp. To samozřejmě trochu pomohlo, ale nijak radikálně situaci nezměnilo. Většinu času již čekáme, až paměť „zatíží procesor“ a situace se jen zhoršuje.

Jak pochopit, co vlastně procesor dělá?

Použití hardwarových čítačů výkonu. V Linuxu je lze číst pomocí perf a dalších podobných nástrojů. Zde je například měření výkonu celého systému po dobu 10 sekund:

# statistika výkonu -a -- režim spánku 10 Statistiky čítače výkonu pro "široký systém": 641398,723351 takt úlohy (ms) # 64 116 využitých procesorů (100,00 %) 379 651 přepínačů kontextu # 0,592 k/s (101,04 %) 5 cpu # 0,080 K/s (100,00 %) 13 423 039 chyb stránky # 0,021 M/s 1 433 972 173 374 cyklů # 2,236 GHz (75,02 %) stalled-cycles-frontend zastavených cyklů-backend 1 118 336 816 068 instrukcí # 0,78 insns za cyklus (75,01 %) 249 644 142 804 větví # 389 218 M/s (75,01 %) 7 791 449 701 % všech větví # 12569.01.01 Uplynulo 3 794 539 sekund
Klíčovou metrikou je zde " počet instrukcí za cyklus hodin" (insns per cycle: IPC), který ukazuje, kolik instrukcí procesor v průměru provedl za každý hodinový cyklus. Zjednodušeně: čím větší toto číslo, tím lépe. Ve výše uvedeném příkladu je toto číslo 0,78, což na první pohled nezdá se tak špatný výsledek (78 % času bylo vykonáno užitečnou práci?) Ale ne, na tomto procesoru by maximální možná hodnota IPC mohla být 4,0 (to je způsobeno tím, jak moderní procesory přijímají a provádějí instrukce. Tedy naše Hodnota IPC (rovná se 0,78) je pouze 19,5 % maximální možné rychlosti provádění instrukce A v procesorech Intel počínaje Skylake je maximální hodnota IPC již 5,0.

V oblacích

Když pracujete ve virtuálním prostředí, nemusíte mít přístup ke skutečným čítačům výkonu (záleží na použitém hypervizoru a jeho nastavení). Zde je článek o tom, jak to funguje v Amazon EC2.

Interpretace dat a reakce

Pokud máte IPC< 1.0 , pak vám gratuluji, vaše aplikace nečinně čeká na data z RAM. Vaší strategií pro optimalizaci výkonu v tomto případě nebude snížení počtu instrukcí v kódu, ale snížení počtu přístupů do RAM a aktivnější využívání cache, zejména na systémech NUMA. Z hardwarového hlediska (pokud to můžete ovlivnit) má smysl volit procesory s větší velikostí cache, rychlejší pamětí a sběrnicí.

Pokud máte IPC > 1,0, pak vaše aplikace netrpí ani tak čekáním na data, ale nadměrným počtem prováděcích pokynů. Hledejte efektivnější algoritmy, nedělejte zbytečnou práci, ukládejte do mezipaměti výsledky opakovaných operací. Použití konstrukčních a analytických nástrojů Flame Graphs může být skvělý způsob, jak získat přehled. Z hardwarového hlediska můžete použít rychlejší procesory a zvýšit počet jader.

Jak můžete vidět, nakreslil jsem čáru při hodnotě IPC 1,0. Odkud jsem získal toto číslo? Počítal jsem to pro svou platformu, a pokud nevěříte mému odhadu, můžete si to spočítat pro svůj. Chcete-li to provést, napište dvě aplikace: jedna by měla zatížit procesor 100% vláknem provádění instrukcí (bez aktivního přístupu k velkým blokům paměti RAM) a druhá by měla naopak aktivně manipulovat s daty v paměti RAM a vyhýbat se náročným výpočtům. Změřte IPC pro každý z nich a vezměte průměr. To bude přibližný bod obratu pro vaši architekturu.

Co by nástroje pro sledování výkonu měly skutečně ukazovat

Věřím, že každý nástroj pro sledování výkonu by měl ukazovat hodnotu IPC vedle zatížení CPU. To se provádí například v tiptop nástroji pro Linux:

Tiptop - Úkoly: celkem 96, 3 zobrazená obrazovka 0: výchozí PID [ %CPU] %SYS P Mcycle Minstr IPC %MISS %BMIS %BUS COMMAND 3897 35,3 28,5 4 274,06 178,23 0,65 0,06 0,65 0,00 java 6.00 2 125,55 1,44 0,34 0,26 0,0 nm-applet 900 0,9 0,0 6 25,91 55,55 2,14 0,12 0,21 0,0 dbus-daemo

Další důvody nesprávného výkladu pojmu „zátěž CPU“

Procesor může vykonávat svou práci pomaleji nejen kvůli ztrátě času čekáním na data z RAM. Mezi další faktory mohou patřit:
  • kolísání teploty CPU
  • Variace frekvence procesoru s technologií Turboboost
  • Změna frekvence procesoru jádrem operačního systému
  • Problém průměrných výpočtů: 80 % průměrného zatížení za dobu měření za minutu nemusí být katastrofou, ale může také skrýt skoky až o 100 %
  • Spinlocks: CPU je zaneprázdněn prováděním instrukcí a má vysoké IPC, ale ve skutečnosti je aplikace zablokovaná a nedělá žádnou skutečnou práci

Závěry

Využití CPU se dnes stalo výrazně nepochopenou metrikou: zahrnuje dobu, po kterou čeká na data z RAM, což může trvat ještě déle než provedení skutečných příkazů. Skutečné zatížení CPU můžete určit pomocí dalších metrik, jako jsou instrukce na takt (IPC). Hodnoty menší než 1,0 znamenají, že jste omezeni rychlostí výměny dat s pamětí, a vyšší hodnoty znamenají, že procesor je silně zatížen proudem instrukcí. Výkonové nástroje by měly být vylepšeny tak, aby zobrazovaly IPC (nebo něco podobného) přímo vedle zatížení CPU, což uživateli umožní plně porozumět situaci. Se všemi těmito daty mohou vývojáři podniknout určité kroky k optimalizaci svého kódu přesně v těch oblastech, kde to přinese největší užitek.


Nahoru