Sabta ang Linux Load Average ug Monitor Performance sa Linux


Niini nga artikulo, among ipasabut ang usa sa mga kritikal nga buluhaton sa pagdumala sa sistema sa Linux - pag-monitor sa pasundayag bahin sa pagkarga sa sistema/CPU ug mga average sa pagkarga.

Sa dili pa kita mopadayon, atong sabton kining duha ka importante nga hugpong sa mga pulong sa tanang sistema nga sama sa Unix:

  • System load/CPU Load – usa ka sukod sa CPU nga sobra o kulang sa paggamit sa usa ka Linux system; ang gidaghanon sa mga proseso nga gipatuman sa CPU o sa naghulat nga kahimtang.
  • Average nga load – mao ang kasagarang load sa sistema nga gikalkulo sulod sa gihatag nga yugto sa panahon nga 1, 5 ug 15 ka minuto.

Sa Linux, ang load-average sa teknikal gituohan nga usa ka running average sa mga proseso sa (kernel) execution queue niini nga gi-tag nga running o uninterruptible.

Timan-i nga:

  • Ang tanan kung dili ang kadaghanan sa mga sistema nga gipadagan sa Linux o uban pang mga sistema nga sama sa Unix mahimong magpakita sa kasagaran nga mga kantidad sa pagkarga sa usa ka lugar alang sa usa ka tiggamit.
  • Ang usa ka walay pulos nga sistema sa Linux mahimong adunay average nga load nga zero, walay labot ang proseso nga walay trabaho.
  • Hapit tanang sistema nga sama sa Unix nag-ihap lang sa mga proseso sa nagdagan o naghulat nga estado. Apan dili kini ang kaso sa Linux, kini naglakip sa mga proseso sa dili maputol nga mga estado sa pagkatulog; kadtong naghulat sa ubang mga kapanguhaan sa sistema sama sa disk I/O ug uban pa.

Unsaon Pag-monitor sa Linux System Load Average

Adunay daghang mga paagi sa pag-monitor sa average nga load sa sistema lakip na ang oras sa pag-andar nga nagpakita kung unsa kadugay nga nagdagan ang sistema, gidaghanon sa mga tiggamit kauban ang mga average sa pagkarga:

$ uptime

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

Ang mga numero gibasa gikan sa wala ngadto sa tuo, ug ang output sa ibabaw nagpasabot nga:

  • load average sa katapusang 1 ka minuto kay 1.98
  • load average sa miaging 5 ka minuto kay 2.15
  • load average sa miaging 15 ka minuto kay 2.21

Ang taas nga mga aberids sa karga nagpasabot nga ang usa ka sistema sobra ka karga; daghang mga proseso ang naghulat sa oras sa CPU.

Atong ibutyag kini sa sunod nga seksyon kalabot sa gidaghanon sa CPU cores. Dugang pa, mahimo usab namon nga magamit ang uban pang nahibal-an nga mga himan sama sa mga pagtan-aw nga nagpakita sa usa ka real-time nga kahimtang sa usa ka nagdagan nga sistema sa Linux, ug daghang uban pang mga himan:

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

Ang load average nga gipakita niini nga mga himan mao ang read /proc/loadavg file, nga imong makita gamit ang cat command sama sa ubos:

$ cat /proc/loadavg

2.48 1.69 1.42 5/889 10570

Para mamonitor ang load average sa graph format, check out: ttyload – Nagpakita sa Color-coded Graph sa Linux Load Average sa Terminal

Sa mga desktop machine, adunay mga graphical user interface nga mga himan nga atong magamit sa pagtan-aw sa system load averages.

Pagsabot sa System Average Load sa Relation Number sa mga CPU

Dili namo mahimo nga ipasabut ang load sa sistema o ang performance sa sistema nga wala maghatag ug kahayag sa epekto sa gidaghanon sa CPU cores sa performance.

  • Multi-processor – diin duha o daghan pa nga pisikal nga CPU ang gisagol sa usa ka sistema sa kompyuter.
  • Multi-core processor – usa ka pisikal nga CPU nga adunay labing menos duha o labaw pa nga separado nga mga cores (o kung unsa ang mahimo usab namon nga tawagan nga mga yunit sa pagproseso) nga parehas nga nagtrabaho. Buot ipasabot ang dual-core adunay 2 duha ka processing units, ang quad-core adunay 4 processing units ug uban pa.

Dugang pa, adunay usa usab ka teknolohiya sa processor nga una nga gipaila sa Intel aron mapaayo ang parallel computing, nga gitawag nga hyper threading.

Ubos sa hyper threading, ang usa ka pisikal nga CPU core makita isip duha ka lohikal nga CPU core sa usa ka operating system (apan sa pagkatinuod, adunay usa ka pisikal nga hardware component).

Timan-i nga ang usa ka CPU core makahimo lamang sa usa ka buluhaton sa usa ka higayon, busa ang mga teknolohiya sama sa daghang CPU/processors, multi-core CPU ug hyper-threading nabuhi.

Uban sa labaw pa sa usa ka CPU, daghang mga programa ang mahimong dungan nga ipatuman. Ang karon nga mga Intel CPU naggamit sa usa ka kombinasyon sa daghang mga core ug hyper-threading nga teknolohiya.

Aron makit-an ang gidaghanon sa mga yunit sa pagproseso nga anaa sa usa ka sistema, mahimo natong gamiton ang nproc o lscpu nga mga sugo sama sa mosunod:

$ nproc
4

OR
lscpu

Ang laing paagi sa pagpangita sa gidaghanon sa mga yunit sa pagproseso gamit ang grep command sama sa gipakita.

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

4

Karon, aron mas masabtan ang pagkarga sa sistema, magkuha kami pipila ka mga pangagpas. Ingnon ta nga naa tay load average sa ubos:

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

  • Ang CPU hingpit nga (100%) gigamit sa kasagaran; 1 ka proseso ang nagdagan sa CPU (1.00) sa miaging 1 ka minuto.
  • Ang CPU walay trabaho sa 60% sa kasagaran; walay proseso nga naghulat sa oras sa CPU (0.40) sa miaging 5 ka minuto.
  • Ang CPU na-overload sa 235% sa kasagaran; Naghulat ang 2.35 nga mga proseso sa oras sa CPU (3.35) sa miaging 15 ka minuto.

  • Ang usa ka CPU 100% nga walay trabaho sa kasagaran, usa ka CPU ang gigamit; walay proseso nga naghulat sa oras sa CPU(1.00) sa miaging 1 ka minuto.
  • Ang mga CPU walay trabaho sa 160% sa kasagaran; walay proseso nga naghulat sa oras sa CPU. (0.40) sa miaging 5 ka minuto.
  • Ang mga CPU na-overload sa 135% sa kasagaran; Ang mga proseso sa 1.35 naghulat sa oras sa CPU. (3.35) sa miaging 15 ka minuto.

Mahimong ganahan ka usab:

  1. 20 Command Line Tools sa Pagmonitor sa Linux Performance – Part 1
  2. 13 Linux Performance Monitoring Tools – Bahin 2
  3. Perf- Usa ka Himan sa Pag-monitor ug Pagtuki sa Pagganap para sa Linux
  4. Nmon: Pag-analisar ug Pag-monitor sa Pagganap sa Sistema sa Linux

Sa konklusyon, kung ikaw usa ka tigdumala sa sistema unya ang taas nga mga average sa pagkarga tinuod nga angay mabalaka. Kung taas sila, labaw sa gidaghanon sa mga cores sa CPU, kini nagpasabut nga taas nga panginahanglan alang sa mga CPU, ug ang ubos nga mga average nga load ubos sa gidaghanon sa mga cores sa CPU nagsulti kanato nga ang mga CPU wala kaayo magamit.