Linux ýük ortaça düşüniň we Linux-yň işine gözegçilik ediň


Bu makalada, Linux ulgamyny dolandyrmagyň möhüm meseleleriniň birini - ulgam/CPU ýük we ýük ortaça görkezijileri boýunça öndürijilik gözegçiligini düşündireris.

Has öňe gitmezden ozal, Unix ýaly ulgamlaryň hemmesinde şu iki möhüm sözleme düşüneliň:

  • Ulgam ýük/CPU ýük - Linux ulgamynda CPU-dan artykmaç ýa-da ulanylmadyk ölçegdir; CPU tarapyndan ýa-da garaşylýan ýagdaýda ýerine ýetirilýän amallaryň sany.
  • averageük ortaça - belli bir döwürde 1, 5 we 15 minutda hasaplanan ortaça ulgam ýükidir.

Linux-da, ýüküň ortaça işleýşi ýa-da bökdençsiz diýlip bellenen ýerine ýetiriş nobatynda (ortaça) işleýän ortaça hasaplanýar.

Üns beriň:

  • Linux ýa-da Unix ýaly beýleki ulgamlar bilen işleýän ulgamlaryň köpüsi bolmasa, ulanyjy üçin ortaça ýük ortaça bahalaryny görkezer.
  • Işsiz Linux ulgamy, işsizlikden başga, ortaça nol bolup biler.
  • Unix-e meňzeş ulgamlaryň hemmesi diýen ýaly diňe işleýän ýa-da garaşýan ýagdaýlarda hasaplanýar. Linuxöne Linux-da beýle däl, üznüksiz uky ýagdaýlaryny öz içine alýar; disk I/O we ş.m. ýaly beýleki ulgam çeşmelerine garaşýanlar

Linux ulgamynyň ýük ortaça görkezijisine nädip gözegçilik etmeli

Ulgamyň näçe wagtlap işleýändigini görkezýän iş wagtyny, ýük ortaça görkezijileri bilen bilelikde ulanyjylaryň sanyny goşmak bilen ulgam ýüküniň ortaça gözegçiliginiň köp usuly bar:

$ uptime

07:13:53 up 8 days, 19 min,  1 user,  load average: 1.98, 2.15, 2.21

Sanlar çepden saga okalýar we ýokardaky çykyş şuny aňladýar:

  • soňky 1 minutda ýüküň ortaça mukdary 1,98
  • soňky 5 minutda ýüküň ortaça mukdary 2,15
  • soňky 15 minutda ortaça ýük 2.21

Loadokary ortaça ulgam ulgamyň aşa ýüklenendigini aňladýar; köp proses CPU wagtyna garaşýar.

CPU ýadrosynyň sanyna degişlilikde indiki bölümde açarys. Mundan başga-da, işleýän Linux ulgamynyň hakyky ýagdaýyny görkezýän gözler we beýleki köp sanly gurallary ulanyp bileris:

$ 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 
...

Bu gurallar bilen görkezilen ortaça ýük ortaça/proc/loadavg faýlydyr, pişigiň buýrugyny ulanyp aşakdaky ýaly görüp bilersiňiz:

$ cat /proc/loadavg

2.48 1.69 1.42 5/889 10570

Grafik görnüşindäki ortaça ýüklere gözegçilik etmek üçin barlaň: ttyload - Terminalda Linux Load Average-iň reňkli kodly grafigini görkezýär

Stol maşynlarynda ulgam ýükleriniň ortaça görnüşlerini görmek üçin ulanyp boljak grafiki ulanyjy interfeýs gurallary bar.

CPU-laryň gatnaşygynda ulgamyň ortaça ýüküne düşünmek

CPU ýadrosynyň işleýşine edýän täsirini açmazdan ulgamyň ýüküni ýa-da ulgamyň işleýşini düşündirip bilmeris.

  • Köp prosessor - iki ýa-da has köp fiziki CPU-nyň bir kompýuter ulgamyna birikdirilen ýeri.
  • Köp ýadroly prosessor - paralel işleýän azyndan iki ýa-da has köp ýadroly (ýa-da gaýtadan işleýän bölümler diýip hem atlandyryp biljek) ýeke fiziki CPU. Iki ýadroly iki sany gaýtadan işleýän birlik, dört ýadroly 4 gaýtadan işleýän birlik we ş.m. diýmekdir.

Mundan başga-da, paralel hasaplamany gowulandyrmak üçin ilkinji gezek Intel tarapyndan giper sapak diýlip atlandyrylýan prosessor tehnologiýasy hem bar.

Giper sapaklaryň aşagynda bir fiziki CPU ýadrosy operasiýa ulgamyna iki logiki CPU ýadrosy hökmünde peýda bolýar (ýöne hakykatda bir fiziki enjam komponenti bar).

Bir CPU ýadrosy bir gezekde diňe bir meseläni ýerine ýetirip biljekdigine üns beriň, şeýlelik bilen birnäçe CPU/prosessor, köp ýadroly CPU we giper-sapak ýaly tehnologiýalar janlandy.

Birden köp CPU bilen bir wagtda birnäçe programma ýerine ýetirilip bilner. Häzirki wagtda Intel protsessorlary iki ýadroly we giper-sapak tehnologiýasynyň kombinasiýasyny ulanýarlar.

Ulgamda bar bolan gaýtadan işleýän bölümleriň sanyny tapmak üçin nproc ýa-da lscpu buýruklaryny aşakdaky ýaly ulanyp bileris:

$ nproc
4

OR
lscpu

Görkezilişi ýaly grep buýrugyny ulanyp gaýtadan işleýän bölümleriň sanyny tapmagyň başga bir usuly.

$ grep 'model name' /proc/cpuinfo | wc -l

4

Indi ulgam ýüküne has giňişleýin düşünmek üçin birnäçe çaklamany alarys. Aşakda ortaça ýüklerimiz bar diýeliň:

23:16:49 up  10:49,  5 user,  load average: 1.00, 0.40, 3.35

  • CPU ortaça (100%) ulanyldy; CPU-da (1.00) soňky 1 minutda 1 proses işledi.
  • CPU ortaça 60% işlemedi; soňky 5 minutda hiç hili proses CPU wagtyna (0.40) garaşmady.
  • CPU ortaça 235% artykmaç ýüklendi; Soňky 15 minutda 2.35 proses CPU wagtyna (3.35) garaşýardy.

  • Bir CPU ortaça 100% işsizdi, bir CPU ulanylýardy; soňky 1 minutda hiç hili proses CPU wagtyna (1.00) garaşmady.
  • CPU-lar ortaça 160% işlemedi; CPU wagtyna hiç hili proses garaşmady. (0.40) soňky 5 minutda.
  • CPU-lar ortaça 135% artykmaç ýüklendi; 1.35 proses CPU wagtyna garaşýardy. (3.35) soňky 15 minutda.

Şeýle hem halap bilersiňiz:

  1. Linux öndürijiligine gözegçilik etmek üçin 20 buýruk setiri gurallary - 1-nji bölüm
  2. 13 Linux öndürijiligine gözegçilik gurallary - 2-nji bölüm
  3. Perf- Linux üçin öndürijilik gözegçiligi we derňew guraly
  4. Nmon: Linux ulgamynyň öndürijiligini derňäň we gözegçilik ediň

Sözümiň ahyrynda, ulgam dolandyryjysy bolsaňyz, ortaça ýokary ýüküň aladasy hakyky. Haçan-da olar ýokary bolsa, CPU ýadrosynyň sanyndan ýokary bolsa, bu protsessorlara ýokary islegi aňladýar we CPU ýadrosynyň sanyndan pes ýük ortaça CPU-laryň ulanylmaýandygyny aýdýar.