Verstinn Linux Luede Duerchschnëtt a Monitor Performance vu Linux
An dësem Artikel wäerte mir eng vun de kriteschen Linux Systemverwaltungsaufgaben erklären - Performance Iwwerwachung a Bezuch op System/CPU Belaaschtung a Lastduerchschnëtt.
Ier mer weider réckelen, loosst eis dës zwee wichteg Ausdréck an all Unix-ähnleche Systemer verstoen:
- Systembelaaschtung/CPU Belaaschtung - ass eng Messung vun der CPU iwwer oder Ënnerbenotzung an engem Linux System; d'Zuel vun de Prozesser déi vun der CPU ausgeführt ginn oder am Waardezoustand.
- Laaschtduerchschnëtt - ass déi duerchschnëttlech Systembelaaschtung berechent iwwer eng bestëmmten Zäitperiod vun 1, 5 a 15 Minutten.
Am Linux gëtt de Laaschtduerchschnëtt technesch ugeholl datt et e lafenden Duerchschnëtt vu Prozesser an der (Kernel) Ausféierungsschlaang ass, déi als lafend oder onënnerbrach markéiert ass.
Notéiert datt:
- All wann net déi meescht Systemer ugedriwwe vu Linux oder aneren Unix-ähnleche Systemer weisen eventuell d'Laaschtduerchschnëttswäerter iergendwou fir e Benotzer.
- E komplette Linux System kann e Laaschtduerchschnëtt vun Null hunn, ausser den Idle Prozess.
- Bal all Unix-ähnlech Systemer zielen nëmmen Prozesser am Lafen oder Waardezoustand. Awer dëst ass net de Fall mat Linux, et enthält Prozesser an onënnerbrach Schlofzoustand; déi op aner Systemressourcen waarden wéi Disk I/O etc.
Wéi Monitor Linux System Load Moyenne
Et gi vill Manéiere fir de Systembelaaschtduerchschnëtt ze iwwerwaachen inklusiv Uptime déi weist wéi laang de System leeft, Zuel vun de Benotzer zesumme mat Laaschtduerchschnëtt:
$ uptime 07:13:53 up 8 days, 19 min, 1 user, load average: 1.98, 2.15, 2.21
D'Zuele gi vu lénks op riets gelies, an d'Ausgab hei uewen bedeit datt:
- Laaschtduerchschnëtt iwwer déi lescht 1 Minutt ass 1,98
- Laaschtduerchschnëtt iwwer déi lescht 5 Minutten ass 2,15
- Laaschtduerchschnëtt iwwer déi lescht 15 Minutten ass 2,21
Héich Last Moyenne implizéiert datt e System iwwerlaascht ass; vill Prozesser waarden CPU Zäit.
Mir entdecken dëst an der nächster Sektioun a Relatioun mat der Zuel vun den CPU Cores. Zousätzlech kënne mir och aner bekannt Tools benotzen wéi Bléck, déi en Echtzäitzoustand vun engem lafende Linux System weisen, plus vill aner Tools:
$ 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 ...
D'Laaschtduerchschnëtter, déi vun dësen Tools gewise ginn, ass gelies /proc/loadavg Datei, déi Dir mat der Cat Kommando kucke kënnt wéi hei ënnen:
$ cat /proc/loadavg 2.48 1.69 1.42 5/889 10570
Fir d'Laaschtduerchschnëtt am Grafikformat ze iwwerwaachen, kuckt w.e.g.: ttyload - Weist eng Faarfkodéiert Grafik vum Linux Load Moyenne am Terminal
Op Desktop-Maschinnen ginn et grafesch User-Interface-Tools déi mir benotze kënne fir Systemlaaschtduerchschnëtter ze gesinn.
Verstoen System Duerchschnëtt Laascht an Relatioun Zuel vun CPUs
Mir kënnen net méiglecherweis Systembelaaschtung oder Systemleistung erklären ouni Liicht op den Impakt vun der Zuel vun den CPU-Cores op d'Leeschtung ze werfen.
- Multi-Prozessor - ass wou zwee oder méi kierperlech CPU'en an engem eenzege Computersystem integréiert sinn.
- Multi-Core Prozessor - ass eng eenzeg kierperlech CPU déi op d'mannst zwee oder méi getrennte Kären huet (oder wat mir och als Veraarbechtungseenheete bezeechnen) déi parallel funktionnéieren. Heescht en Dual-Core huet 2 zwee Veraarbechtungsunitéiten, e Quad-Core huet 4 Veraarbechtungsunitéiten a sou weider.
Ausserdeem gëtt et och eng Prozessortechnologie déi fir d'éischt vun Intel agefouert gouf fir de parallele Computing ze verbesseren, als Hyperthreading bezeechent.
Ënner Hyperthreading erschéngt en eenzege kierperleche CPU Kär als zwee logesch CPUs Kär zu engem Betribssystem (awer a Wierklechkeet gëtt et eng kierperlech Hardwarekomponent).
Notéiert datt en eenzegen CPU Kär nëmmen eng Aufgab gläichzäiteg ausféiere kann, sou datt Technologien wéi verschidde CPUs/Prozessoren, Multi-Core CPUs an Hyper-Threading zum Liewen bruecht goufen.
Mat méi wéi enger CPU kënne verschidde Programmer gläichzäiteg ausgefouert ginn. Hautdesdaags Intel CPUs benotzen eng Kombinatioun vu béide Multiple Cores an Hyper-Threading Technologie.
Fir d'Zuel vun de Veraarbechtungsunitéiten op engem System ze fannen, kënne mir d'nproc oder lscpu Kommandoen wéi follegt benotzen:
$ nproc 4 OR lscpu
Eng aner Manéier fir d'Zuel vun de Veraarbechtungsunitéiten ze fannen andeems Dir grep Kommando benotzt wéi gewisen.
$ grep 'model name' /proc/cpuinfo | wc -l 4
Elo, fir d'Systembelaaschtung weider ze verstoen, wäerte mir e puer Viraussetzungen huelen. Loosst eis soen datt mir Laaschtduerchschnëtt hei drënner hunn:
23:16:49 up 10:49, 5 user, load average: 1.00, 0.40, 3.35
- D'CPU gouf am Duerchschnëtt voll (100%) benotzt; 1 Prozesser lafen op der CPU (1.00) an der leschter 1 Minutt.
- D'CPU war am Duerchschnëtt ëm 60% idle; keng Prozesser waarden op CPU Zäit (0,40) an de leschten 5 Minutten.
- D'CPU gouf am Duerchschnëtt ëm 235% iwwerlaascht; 2.35 Prozesser ware fir CPU Zäit (3.35) an de leschten 15 Minutten.
- Déi eng CPU war am Duerchschnëtt 100% Idle, eng CPU gouf benotzt; keng Prozesser waarden op CPU Zäit (1.00) an der leschter 1 Minutt.
- D'CPUs waren am Duerchschnëtt ëm 160% Idle; keng Prozesser goufen CPU Zäit gewaart. (0.40) an de leschte 5 Minutten.
- D'CPUs goufen duerchschnëttlech ëm 135% iwwerlaascht; 1.35 Prozesser waren op CPU Zäit gewaart. (3.35) an de leschten 15 Minutten.
Dir kënnt och gär hunn:
- 20 Command Line Tools fir Linux Performance ze iwwerwaachen - Deel 1
- 13 Linux Performance Monitoring Tools - Deel 2
- Perf- E Performance Monitoring and Analysis Tool fir Linux
- Nmon: Analyséieren a Monitor Linux System Leeschtung
Als Schlussfolgerung, wann Dir e Systemadministrator sidd, da sinn héich Belaaschtungsduerchschnëtter real fir Iech Suergen ze maachen. Wann se héich sinn, iwwer d'Zuel vun den CPU-Cores, bedeit et eng grouss Nofro fir d'CPUs, an d'niddereg Belaaschtungsduerchschnëtt ënner der Unzuel vun den CPU-Cores seet eis datt d'CPUs ënnerbenotzt sinn.