A terhelés kiszámításának különböző módszerei
Mielőtt belevetnénk magunkat a Linux terhelési átlagaiba, meg kell vizsgálnunk a terhelés kiszámításának különböző módjait, és foglalkoznunk kell a CPU terhelésének leggyakoribb mérésével - egy százalékkal.
A Windows másképp számolja a terhelést, mint a Linux, és mivel a Windows történelmileg népszerűbb az asztalon, a Windows terhelés-meghatározását általában a legtöbb számítógép-felhasználó megérti. A legtöbb Windows-felhasználó a rendszerterhelést a feladatkezelőben 0% és 100% közötti százalékos arányban jelenítette meg.
A Windows rendszerben ezt úgy kapják meg, hogy megvizsgálják, mennyire „foglalt” Rendszer üresjárati folyamat az inverz és a rendszer terhelésének ábrázolása. Például, ha a tétlen szál az idő 99% -át futtatja, a Windows CPU-terhelése 1% lenne. Ez az érték könnyen érthető, de kevesebb átfogó részletességgel szolgál a rendszer valódi állapotáról.
Linuxban a terhelési átlagot egy 0-tól kezdődő decimális szám képviseli.00. Az érték nagyjából meghatározható az elmúlt percek azon folyamatainak számaként, amelyeknek sorra kellett várniuk a végrehajtásra. A Windows-tól eltérően a Linux terhelési átlaga nem azonnali mérés. A terhelést három értékben adják meg: egy perc, öt perc és tizenöt perc átlagban.
A terhelésátlag megértése Linux alatt
Eleinte ez az extra részletréteg feleslegesnek tűnik, ha egyszerűen meg akarja tudni a rendszer CPU-terhelésének aktuális állapotát. De mivel azonnali mérés helyett három időtartam átlagát adják meg, teljesebb képet kaphat a rendszer terhelésének időbeli változásáról három szám egyetlen pillantása alatt
A terhelés átlagának megjelenítése egyszerű. A parancssorban különféle parancsokat használhat. Egyszerűen a „w” parancsot használom:
gyökér @ virgo [~] # w21:08:43 akár 38 nap, 4:34, 4 felhasználó, terhelési átlag: 3.11, 2.75, 2.70
A parancs többi része megmutatja, hogy ki van bejelentkezve, és mit hajt végre, de céljaink szempontjából ez az információ nem releváns, ezért levágtam a fenti kijelzőről.
Ideális rendszerben egyetlen folyamatot sem szabad visszatartani egy másik folyamat (vagy szál) által, de egyetlen processzoros rendszerben, ez akkor fordul elő, amikor a terhelés meghaladja az 1-et.00.
Az „egyprocesszoros rendszer” szavak itt hihetetlenül fontosak. Hacsak nem ősi számítógépet futtat, a gép valószínűleg több CPU maggal rendelkezik. A bekapcsolt gépben 16 magom van:
gyökér @ virgo [~] # nproc16
Ebben az esetben a terhelés átlaga 3.A 11. egyáltalán nem riasztó. Ez egyszerűen azt jelenti, hogy valamivel több mint három folyamat volt kész végrehajtásra, és CPU-magok voltak jelen a végrehajtásuk kezeléséhez. Ezen a rendszeren a terhelésnek el kell érnie a 16-ot, hogy „100% -on” lehessen számolni.
Ennek százalékos rendszerterhelésre fordításához használhatja ezt az egyszerű, ha nem tompa parancsot:
cat / proc / loadavg | vágás -c 1-4 | visszhang "skála = 2; ($ (Ez a parancssor elkülöníti az 1 perces átlagot a kivágáson keresztül, és visszahangozza a CPU magjainak számával elosztva a bc-n, egy parancssori számológépen keresztül a százalékos érték levezetéséhez.Ez az érték korántsem tudományos, de durván közelíti a CPU terhelését százalékban.
Egy perc tanulni, egy életen át elsajátítani
Az előző részben a 16% -os terhelés „100%” példáját tettem fel.0 egy 16 CPU-os alaprendszeren idézőjelben, mert a Linux terhelésének kiszámítása kissé ködösebb, mint a Windows. A rendszergazdának szem előtt kell tartania, hogy:
- A terhelést várakozási folyamatok és szálak fejezik ki
- Ez nem pillanatnyi érték, inkább átlag, és
- Az értelmezésnek tartalmaznia kell a CPU magok számát és
- Lehet, hogy az I / O túlfújja a lemezt
Emiatt a CPU-terhelés kezelése Linux rendszeren nem teljesen empirikus kérdés. Még ha így is lenne, a CPU terhelése önmagában nem megfelelő mérési tényező a rendszer erőforrásainak kihasználásában. Mint ilyen, egy tapasztalt Linux rendszergazda figyelembe veszi a CPU terhelését más értékekkel, például az I / O várakozással és a rendszermag százalékos arányával.
I / O Várjon
Az I / O várakozás legkönnyebben a „top” paranccsal látható:
A fenti képernyőképen kiemeltem az I / O várakozási értéket. Ez az idő százaléka, amire a CPU a bemeneti vagy kimeneti parancsok befejezésére várt. Ez általában a lemez nagy aktivitását jelzi. Noha a magas várakozási százalék önmagában nem rontja jelentősen a CPU-hoz kötött feladatokat, csökkenti az egyéb feladatok I / O teljesítményét, és lassúnak érzi a rendszert.
A magas I / O várakozás nyilvánvaló ok nélkül problémát jelezhet a lemezzel. A „dmesg” paranccsal ellenőrizze, hogy történt-e hiba.
Kernel vs. Rendszeridő
A fenti kiemelt értékek a felhasználó és a kernel (rendszer) idejét képviselik. Ez a CPU-idő összes felhasználásának megoszlása a felhasználók szerint (azaz.e. alkalmazások stb.) és a kernel (i.e. kölcsönhatás a rendszereszközökkel). A magasabb felhasználói idő azt jelzi, hogy a CPU-k nagyobb mértékben használják a programokat, ahol a magasabb rendszermag-idő több rendszerszintű feldolgozást jelent.
Meglehetősen átlagos terhelés
A terhelésátlag és a rendszer tényleges teljesítményének kapcsolatának megismerése időbe telik, de sokáig egyértelmű összefüggést fog látni. A rendszer teljesítménymutatóinak bonyolultságával felvértezve jobb döntéseket hozhat a hardverfrissítésekről és a program erőforrás-felhasználásáról.