Rôzne metódy výpočtu zaťaženia
Predtým, ako sa ponoríme do priemerov zaťaženia systému Linux, musíme preskúmať rôzne spôsoby výpočtu zaťaženia a zaoberať sa najbežnejším meraním zaťaženia procesora - percento.
Systém Windows počíta zaťaženie odlišne od systému Linux a keďže systém Windows je v minulosti populárnejší na pracovnej ploche, definíciu zaťaženia v systéme Windows väčšina používateľov počítačov všeobecne chápe. Väčšina používateľov systému Windows videla, ako sa zaťaženie systému v správcovi úloh zobrazuje v rozmedzí od 0% do 100%.
Vo Windows je to odvodené skúmaním toho, ako „zaneprázdnený“ je Proces nečinnosti systému je a pomocou inverznej hodnoty predstavuje zaťaženie systému. Napríklad, ak nečinné vlákno vykonáva 99% času, zaťaženie procesora v systéme Windows by bolo 1%. Táto hodnota je ľahko pochopiteľná, ale poskytuje menej celkových podrobností o skutočnom stave systému.
V systéme Linux je priemer záťaže namiesto toho reprezentovaný desatinným číslom začínajúcim na 0.00. Hodnota môže byť zhruba definovaná ako počet procesov za poslednú minútu, ktoré museli čakať na svoje vykonanie. Na rozdiel od Windows priemer zaťaženia systému Linux nie je okamžitým meraním. Zaťaženie sa udáva v troch hodnotách - priemer jednej minúty, priemer päť minút a priemer pätnásť minút.
Pochopenie priemernej záťaže v systéme Linux
Spočiatku sa táto ďalšia vrstva podrobností javí ako zbytočná, ak chcete jednoducho zistiť aktuálny stav zaťaženia procesora vo vašom systéme. Ale keďže sú uvedené priemery troch časových období, nie okamžité meranie, môžete získať úplnejšiu predstavu o zmene zaťaženia systému v priebehu času jediným pohľadom na tri čísla
Zobrazenie priemeru záťaže je jednoduché. Na príkazovom riadku môžete použiť rôzne príkazy. Jednoducho použijem príkaz „w“:
root @ virgo [~] # ž21:08:43 až 38 dní, 4:34, 4 používatelia, priemer zaťaženia: 3.11, 2.75, 2.70
Zvyšok príkazu zobrazí, kto je prihlásený a čo vykonáva, ale pre naše účely sú tieto informácie irelevantné, takže som ich orezal z vyššie uvedeného displeja.
V ideálnom systéme by žiadny proces nemal byť brzdený iným procesom (alebo vláknom), ale v jednom procesorovom systéme, k tomu dôjde, keď zaťaženie stúpne nad 1.00.
Slová „systém s jedným procesorom“ sú tu neuveriteľne dôležité. Pokiaľ nepoužívate starodávny počítač, váš počítač má pravdepodobne viac jadier CPU. V zapnutom stroji mám 16 jadier:
root @ virgo [~] # nproc16
V tomto prípade je priemerná záťaž 3.11 nie je vôbec alarmujúca. Znamená to jednoducho, že na vykonanie boli pripravené o niečo viac ako tri procesy a boli prítomné jadrá CPU, ktoré ich vykonávanie zvládli. V tomto konkrétnom systéme by záťaž musela dosiahnuť 16, aby sa mohla považovať za „100%“.
Ak to chcete preložiť na percentuálnu záťaž systému, môžete použiť tento jednoduchý, ak nie tupý príkaz:
mačka / proc / loadavg | rez -c 1-4 | echo "scale = 2; ($ (Táto sekvencia príkazov izoluje priemer 1 minúty pomocou funkcie cut a echos ju vydelí počtom jadier procesora prostredníctvom kalkulátora príkazového riadku bc na odvodenie percenta.Táto hodnota nie je nijako vedecká, ale poskytuje približnú približnú hodnotu zaťaženia procesora v percentách.
Minúta na učenie, celý život na zvládnutie
V predchádzajúcej časti som uviedol „100%“ príklad zaťaženia 16.0 na 16-jadrovom systéme CPU v úvodzovkách, pretože výpočet zaťaženia v systéme Linux je o niečo hmlistejší ako v systéme Windows. Správca systému musí mať na pamäti, že:
- Zaťaženie sa vyjadruje v čakacích procesoch a vláknach
- Nejde o okamžitú hodnotu, skôr o priemernú hodnotu, a
- Jeho interpretácia musí obsahovať počet jadier CPU a
- Môže nadmerne nafúknuť I / O a čakať na načítanie disku
Z tohto dôvodu nie je zvládnutie zaťaženia procesora v systéme Linux úplne empirickou záležitosťou. Aj keby to bolo, samotné zaťaženie procesora nie je adekvátnym meraním celkového využitia systémových prostriedkov. Skúsený správca systému Linux ako taký zváži zaťaženie procesora v zhode s inými hodnotami, ako je napríklad čakanie I / O a percento jadra v porovnaní so systémovým časom.
I / O Počkajte
I / O čakanie je najľahšie viditeľné pomocou príkazu „top“:
Na snímke vyššie som zvýraznil hodnotu čakania I / O. Toto je percento času, ktoré CPU čakalo na dokončenie vstupných alebo výstupných príkazov. Toto zvyčajne naznačuje vysokú aktivitu disku. Aj keď samotné vysoké percento čakania nemusí výrazne degradovať úlohy spojené s procesorom, zníži výkon I / O pre ostatné úlohy a spôsobí, že sa systém bude cítiť pomalý.
Vysoké čakanie I / O bez zjavnej príčiny môže znamenať problém s diskom. Pomocou príkazu „dmesg“ skontrolujte, či sa nevyskytli nejaké chyby.
Jadro vs. Systémový čas
Vyššie uvedené hodnoty predstavujú čas používateľa a jadra (systému). Toto je rozpis celkovej spotreby času CPU používateľmi (t. J.e. aplikácie atď.) a jadro (i.e. interakcia so systémovými zariadeniami). Vyšší čas používateľa bude znamenať väčšie využitie procesora programami, zatiaľ čo vyšší čas jadra bude znamenať viac spracovania na úrovni systému.
Celkom priemerné zaťaženie
Naučiť sa vzťahu priemeru záťaže k skutočnému výkonu systému chvíľu trvá, ale čoskoro uvidíte zreteľnú koreláciu. Vyzbrojení zložitosťou metrík výkonu systému budete môcť robiť lepšie rozhodnutia o aktualizáciách hardvéru a využití programových prostriedkov.