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ð:

  1. 20 skipanalínuverkfæri til að fylgjast með afköstum Linux – Hluti 1
  2. 13 Linux árangurseftirlitsverkfæri – Part 2
  3. Perf- Afkastaeftirlits- og greiningartól fyrir Linux
  4. 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.