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:
- Linux öndürijiligine gözegçilik etmek üçin 20 buýruk setiri gurallary - 1-nji bölüm
- 13 Linux öndürijiligine gözegçilik gurallary - 2-nji bölüm
- Perf- Linux üçin öndürijilik gözegçiligi we derňew guraly
- 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.