Skilja Linux hleðslumeðaltöl og fylgjast með frammistöðu Linux
Í þessari grein munum við útskýra eitt af mikilvægu Linux kerfisstjórnunarverkefnunum - árangurseftirlit með tilliti til kerfis/CPU álags og meðaltals álags.
Áður en lengra er haldið skulum við skilja þessar tvær mikilvægu setningar í öllum Unix-líkum kerfum:
- Kerfisálag/CPU Load – er mæling á ofnotkun CPU eða vannýtingu í Linux kerfi; fjölda ferla sem eru í gangi af örgjörvanum eða í biðstöðu.
- Álagsmeðaltal – er meðalálag kerfisins reiknað yfir tiltekið tímabil sem er 1, 5 og 15 mínútur.
Í Linux er tæknilega talið að hleðslumeðaltalið sé keyrandi meðaltal ferla í (kjarna) framkvæmdarröðinni sem er merkt sem keyrandi eða órofanleg.
Athugaðu að:
- Öll ef ekki flest kerfi knúin af Linux eða öðrum Unix-líkum kerfum munu hugsanlega sýna meðaltalsgildi álags einhvers staðar fyrir notanda.
- Algjört aðgerðalaust Linux kerfi gæti haft hleðslumeðaltalið núll, að aðgerðalausu ferli undanskildu.
- Næstum öll Unix-lík kerfi telja aðeins ferla í gangi eða biðstöðu. En þetta er ekki raunin með Linux, það felur í sér ferla í ótruflaðri svefnstöðu; þeir sem bíða eftir öðrum kerfisauðlindum eins og I/O disks o.s.frv.
Hvernig á að fylgjast með meðaltali Linux kerfishleðslu
Það eru fjölmargar leiðir til að fylgjast með meðaltali álags kerfisins, þar á meðal spenntur sem sýnir hversu lengi kerfið hefur verið í gangi, fjölda notenda ásamt álagsmeðaltali:
$ uptime 07:13:53 up 8 days, 19 min, 1 user, load average: 1.98, 2.15, 2.21
Tölurnar eru lesnar frá vinstri til hægri og úttakið hér að ofan þýðir að:
- meðaltal álags síðustu 1 mínútu er 1,98
- meðaltal álags síðustu 5 mínútur er 2,15
- meðaltal álags síðustu 15 mínútur er 2,21
Hátt meðaltal álags gefur til kynna að kerfi sé ofhlaðið; mörg ferli bíða eftir CPU tíma.
Við munum afhjúpa þetta í næsta kafla í tengslum við fjölda CPU kjarna. Að auki getum við líka notað önnur vel þekkt verkfæri eins og augnaráð sem sýna rauntímastöðu keyrandi Linux kerfis, auk margra annarra verkfæra:
$ top
top - 12:51:42 up 2:11, 1 user, load average: 1.22, 1.12, 1.26 Tasks: 243 total, 1 running, 242 sleeping, 0 stopped, 0 zombie %Cpu(s): 17.4 us, 2.9 sy, 0.3 ni, 74.8 id, 4.6 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem : 8069036 total, 388060 free, 4381184 used, 3299792 buff/cache KiB Swap: 3906556 total, 3901876 free, 4680 used. 2807464 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 6265 tecmint 20 0 1244348 170680 83616 S 13.3 2.1 6:47.72 Headset 2301 tecmint 9 -11 640332 13344 9932 S 6.7 0.2 2:18.96 pulseaudio 2459 tecmint 20 0 1707692 315628 62992 S 6.7 3.9 6:55.45 cinnamon 2957 tecmint 20 0 2644644 1.035g 137968 S 6.7 13.5 50:11.13 firefox 3208 tecmint 20 0 507060 52136 33152 S 6.7 0.6 0:04.34 gnome-terminal- 3272 tecmint 20 0 1521380 391324 178348 S 6.7 4.8 6:21.01 chrome 6220 tecmint 20 0 1595392 106964 76836 S 6.7 1.3 3:31.94 Headset 1 root 20 0 120056 6204 3964 S 0.0 0.1 0:01.83 systemd 2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd 3 root 20 0 0 0 0 S 0.0 0.0 0:00.10 ksoftirqd/0 5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H ....
$ glances
TecMint (LinuxMint 18 64bit / Linux 4.4.0-21-generic) Uptime: 2:16:06 CPU 16.4% nice: 0.1% LOAD 4-core MEM 60.5% active: 4.90G SWAP 0.1% user: 10.2% irq: 0.0% 1 min: 1.20 total: 7.70G inactive: 2.07G total: 3.73G system: 3.4% iowait: 2.7% 5 min: 1.16 used: 4.66G buffers: 242M used: 4.57M idle: 83.6% steal: 0.0% 15 min: 1.24 free: 3.04G cached: 2.58G free: 3.72G NETWORK Rx/s Tx/s TASKS 253 (883 thr), 1 run, 252 slp, 0 oth sorted automatically by cpu_percent, flat view enp1s0 525Kb 31Kb lo 2Kb 2Kb CPU% MEM% VIRT RES PID USER NI S TIME+ IOR/s IOW/s Command wlp2s0 0b 0b 14.6 13.3 2.53G 1.03G 2957 tecmint 0 S 51:49.10 0 40K /usr/lib/firefox/firefox 7.4 2.2 1.16G 176M 6265 tecmint 0 S 7:08.18 0 0 /usr/lib/Headset/Headset --type=renderer --no-sandbox --primordial-pipe-token=879B36514C6BEDB183D3E4142774D1DF --lan DISK I/O R/s W/s 4.9 3.9 1.63G 310M 2459 tecmint 0 R 7:12.18 0 0 cinnamon --replace ram0 0 0 4.2 0.2 625M 13.0M 2301 tecmint -11 S 2:29.72 0 0 /usr/bin/pulseaudio --start --log-target=syslog ram1 0 0 4.2 1.3 1.52G 105M 6220 tecmint 0 S 3:42.64 0 0 /usr/lib/Headset/Headset ram10 0 0 2.9 0.8 409M 66.7M 6240 tecmint 0 S 2:40.44 0 0 /usr/lib/Headset/Headset --type=gpu-process --no-sandbox --supports-dual-gpus=false --gpu-driver-bug-workarounds=7,2 ram11 0 0 2.9 1.8 531M 142M 1690 root 0 S 6:03.79 0 0 /usr/lib/xorg/Xorg :0 -audit 0 -auth /var/lib/mdm/:0.Xauth -nolisten tcp vt8 ram12 0 0 2.6 0.3 79.3M 23.8M 9651 tecmint 0 R 0:00.71 0 0 /usr/bin/python3 /usr/bin/glances ram13 0 0 1.6 4.8 1.45G 382M 3272 tecmint 0 S 6:25.30 0 4K /opt/google/chrome/chrome ...
Hleðslumeðaltölin sem þessi verkfæri sýna eru lesin /proc/loadavg skrá, sem þú getur skoðað með því að nota cat skipunina eins og hér að neðan:
$ cat /proc/loadavg 2.48 1.69 1.42 5/889 10570
Til að fylgjast með hleðslumeðaltali á línuritssniði, skoðaðu: ttyload – Sýnir litakóða línurit af Linux hleðslumeðaltali í flugstöðinni
Á borðtölvum eru grafísk notendaviðmótsverkfæri sem við getum notað til að skoða meðaltöl kerfishleðslu.
Skilningur á meðalálagi kerfis í tengslum við fjölda örgjörva
Við getum ekki útskýrt kerfisálag eða afköst kerfisins án þess að varpa ljósi á áhrif fjölda örgjörvakjarna á afköst.
- Fjögurgjörvi – er þar sem tveir eða fleiri líkamlegir örgjörvar eru samþættir í einu tölvukerfi.
- Margkjarna örgjörvi – er einn líkamlegur örgjörvi sem hefur að minnsta kosti tvo eða fleiri aðskilda kjarna (eða það sem við getum líka vísað til sem vinnslueiningar) sem vinna samhliða. Sem þýðir að tvíkjarna hefur 2 tvær vinnslueiningar, fjórkjarna hefur 4 vinnslueiningar og svo framvegis.
Ennfremur er einnig til örgjörvatækni sem var fyrst kynnt af Intel til að bæta samhliða tölvuvinnslu, kölluð ofurþráður.
Undir ofurþráði birtist einn líkamlegur CPU kjarni sem tveir rökréttir örgjörvar kjarni í stýrikerfi (en í raun er það einn líkamlegur vélbúnaðarhluti).
Athugaðu að einn örgjörva kjarni getur aðeins framkvæmt eitt verkefni í einu, þannig að tækni eins og margir örgjörvar/örgjörvar, fjölkjarna örgjörvar og ofur-þráður var lífgaður upp.
Með fleiri en einum örgjörva er hægt að keyra nokkur forrit samtímis. Nútíma Intel örgjörvar nota blöndu af bæði mörgum kjarna og háþráðartækni.
Til að finna fjölda vinnslueininga sem eru tiltækar á kerfi gætum við notað nproc eða lscpu skipanirnar sem hér segir:
$ nproc 4 OR lscpu
Önnur leið til að finna fjölda vinnslueininga með því að nota grep skipunina eins og sýnt er.
$ grep 'model name' /proc/cpuinfo | wc -l 4
Nú, til að skilja kerfisálag frekar, munum við taka nokkrar forsendur. Segjum að við höfum hleðslumeðaltöl hér að neðan:
23:16:49 up 10:49, 5 user, load average: 1.00, 0.40, 3.35
- Ögginn var að fullu (100%) nýttur að meðaltali; 1 ferli var í gangi á örgjörvanum (1.00) á síðustu 1 mínútu.
- Ögginn var aðgerðalaus um 60% að meðaltali; engin ferli beið eftir örgjörvatíma (0,40) síðustu 5 mínúturnar.
- Örgjörvi var ofhlaðinn um 235% að meðaltali; 2.35 ferli biðu eftir örgjörvatíma (3.35) síðustu 15 mínúturnar.
- Einn örgjörvi var 100% aðgerðalaus að meðaltali, einn örgjörvi var í notkun; engin ferli beið eftir CPU-tíma (1.00) síðustu 1 mínútu.
- Örgjörvarnir voru aðgerðalausir um 160% að meðaltali; engin ferli biðu eftir CPU tíma. (0,40) á síðustu 5 mínútunum.
- Örgjörvarnir voru ofhlaðnir um 135% að meðaltali; 1.35 ferli biðu eftir CPU tíma. (3.35) síðustu 15 mínúturnar.
Þér gæti einnig líkað:
- 20 skipanalínuverkfæri til að fylgjast með afköstum Linux – Hluti 1
- 13 Linux árangurseftirlitsverkfæri – Part 2
- Perf- Afkastaeftirlits- og greiningartól fyrir Linux
- Nmon: Greindu og fylgdu afköstum Linux kerfisins
Að lokum, ef þú ert kerfisstjóri, þá eru há álagsmeðaltöl raunveruleg til að hafa áhyggjur af. Þegar þeir eru háir, yfir fjölda örgjörvakjarna, táknar það mikla eftirspurn eftir örgjörvunum og lágt álagsmeðaltal undir fjölda örgjörvakjarna segir okkur að örgjörvar séu vannýttir.