Memahami purata beban linux dan memantau prestasi linux

Memahami purata beban linux dan memantau prestasi linux

Dalam artikel ini, kami akan menerangkan salah satu tugas pentadbiran sistem Linux kritikal - pemantauan prestasi berkaitan dengan beban sistem/CPU dan purata beban.

Sebelum kita bergerak lebih jauh, mari kita fahami dua frasa penting ini dalam semua sistem seperti Unix:

  • Beban sistem/beban CPU - adalah pengukuran CPU ke atas atau kurang penggunaan dalam sistem Linux; bilangan proses yang sedang dilaksanakan oleh CPU atau dalam keadaan menunggu.
  • Purata beban - adalah beban sistem purata yang dikira dalam tempoh masa tertentu 1, 5 dan 15 minit.

Di Linux, purata beban secara teknikal dipercayai menjadi purata proses yang berjalan di dalamnya (kernel) giliran pelaksanaan yang ditandakan sebagai berjalan atau tidak terganggu.

Perhatikan bahawa:

  • Semua jika tidak kebanyakan sistem yang dikuasakan oleh Linux atau sistem seperti Unix yang lain mungkin akan menunjukkan nilai purata beban di suatu tempat untuk pengguna.
  • Sistem Linux Idle yang betul mungkin mempunyai purata beban sifar, tidak termasuk proses terbiar.
  • Hampir semua sistem seperti Unix mengira hanya proses dalam keadaan berjalan atau menunggu. Tetapi ini tidak berlaku dengan Linux, ia termasuk proses dalam keadaan tidur yang tidak terganggu; Mereka yang menunggu sumber sistem lain seperti cakera I/O dll.

Cara Memantau Purata Beban Sistem Linux

Terdapat banyak cara pemantauan beban sistem purata termasuk uptime yang menunjukkan berapa lama sistem telah berjalan, bilangan pengguna bersama -sama dengan purata beban:

$ uptime 07:13:53 Up 8 hari, 19 min, 1 pengguna, beban purata: 1.98, 2.15, 2.21 

Nombor dibaca dari kiri ke kanan, dan output di atas bermaksud:

  • Muatkan purata pada yang terakhir 1 minit adalah 1.98
  • Muatkan purata pada yang terakhir 5 minit adalah 2.15
  • Muatkan purata pada yang terakhir 15 minit adalah 2.21

Rata -rata beban tinggi menyiratkan bahawa sistem terlalu banyak; Banyak proses menunggu masa CPU.

Kami akan mendedahkan ini di bahagian seterusnya berhubung dengan bilangan teras CPU. Di samping itu, kami juga boleh menggunakan alat-alat lain yang terkenal seperti Top dan Glances yang memaparkan keadaan masa nyata sistem Linux yang berjalan, ditambah dengan banyak alat lain:

Perintah atas

$ atas 
Paparkan proses linux berjalan
Atas - 12:51:42 UP 2:11, 1 Pengguna, beban purata: 1.22, 1.12, 1.26 Tugas: 243 Jumlah, 1 Berjalan, 242 Tidur, 0 Berhenti, 0 Zombie %CPU (s): 17.4 AS, 2.9 Sy, 0.3 Ni, 74.8 ID, 4.6 wa, 0.0 Hai, 0.0 si, 0.0 St Kib Mem: 8069036 Jumlah, 388060 Percuma, 4381184 Digunakan, 3299792 Buff/Cache Kib Swap: 3906556 Jumlah, 3901876 Percuma, 4680 Digunakan. 2807464 Avail MEM PID Pengguna Pr Ni Virt Res Shr S %CPU %Mememp Masa+ Perintah 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 .. 

Alat melihat

$ melirik 
Pandangan - Alat Pemantauan Sistem Linux
Tecmint (Linuxmint 18 64bit / Linux 4.4.0-21-generik) Uptime: 2:16:06 CPU 16.4% bagus: 0.1% beban 4-teras MEM 60.5% Aktif: 4.90g swap 0.Pengguna 1%: 10.2% IRQ: 0.0% 1 min: 1.20 Jumlah: 7.70g tidak aktif: 2.07g Jumlah: 3.Sistem 73g: 3.4% Iowait: 2.7% 5 min: 1.16 Digunakan: 4.Buffer 66g: 242m Digunakan: 4.57m terbiar: 83.6% mencuri: 0.0% 15 min: 1.24 Percuma: 3.04g cache: 2.58g percuma: 3.72g Rangkaian Rx/s Tx/S Tugas 253 (883 thr), 1 Run, 252 SLP, 0 OTH disusun secara automatik oleh cpu_percent, paparan rata enp1s0 525kb 31kb lo 2kb 2kb cpu% mem% virt virt res pid pengguna Perintah IOW/S 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/melirik ram13 0 0 1.6 4.8 1.45g 382m 3272 Tecmint 0 s 6:25.30 0 4K/OPT/Google/Chrome/Chrome .. 

Purata beban yang ditunjukkan oleh alat ini dibaca /proc/loadavg Fail, yang boleh anda lihat menggunakan perintah kucing seperti di bawah:

$ CAT /PROC /LOADAVG 2.48 1.69 1.42 5/889 10570 

Untuk memantau rata

Pada mesin desktop, terdapat alat antara muka pengguna grafik yang boleh kita gunakan untuk melihat purata beban sistem.

Memahami beban purata sistem berhubung bilangan CPU

Kami tidak dapat menjelaskan beban sistem atau prestasi sistem tanpa memberi penerangan tentang kesan bilangan teras CPU pada prestasi.

Multi-Processor vs Multi-Core

  • Multi-Processor - di mana dua atau lebih CPU fizikal disatukan ke dalam sistem komputer tunggal.
  • Pemproses multi-teras - adalah cpu fizikal tunggal yang mempunyai sekurang -kurangnya dua atau lebih teras berasingan (atau apa yang kita juga boleh merujuk sebagai unit pemprosesan) yang berfungsi selari. Bermakna dwi teras mempunyai 2 dua unit pemprosesan, quad-core mempunyai 4 unit pemprosesan dan sebagainya.

Selain itu, terdapat juga teknologi pemproses yang pertama kali diperkenalkan oleh Intel untuk meningkatkan pengkomputeran selari, yang disebut sebagai threading hiper.

Di bawah hiper threading, satu teras CPU fizikal muncul sebagai dua teras CPU logik ke sistem operasi (tetapi pada hakikatnya, terdapat satu komponen perkakasan fizikal).

Perhatikan bahawa teras CPU tunggal hanya boleh menjalankan satu tugas pada satu masa, oleh itu teknologi seperti pelbagai CPU/pemproses, CPU multi-teras dan hiper-threading telah dibawa ke kehidupan.

Dengan lebih daripada satu CPU, beberapa program boleh dilaksanakan secara serentak. CPU intel masa kini menggunakan gabungan kedua-dua teras dan teknologi hiper-threading.

Untuk mencari bilangan unit pemprosesan yang terdapat pada sistem, kami boleh menggunakan arahan NPROC atau LSCPU seperti berikut:

$ nproc 4 atau lscpu 

Cara lain untuk mencari bilangan unit pemprosesan menggunakan arahan grep seperti yang ditunjukkan.

$ grep 'nama model' /proc /cpuinfo | WC -L 4 

Sekarang, untuk lebih memahami beban sistem, kami akan mengambil beberapa andaian. Katakan kita mempunyai purata beban di bawah:

23:16:49 Up 10:49, 5 Pengguna, beban purata: 1.00, 0.40, 3.35 
Pada satu sistem teras ini bermakna:
  • CPU sepenuhnya (100%) digunakan secara purata; 1 proses berjalan pada CPU (1.00) Sepanjang 1 minit terakhir.
  • CPU terbiar sebanyak 60% secara purata; Tiada proses menunggu masa CPU (0.40) Sepanjang 5 minit terakhir.
  • CPU telah dibebankan sebanyak 235% secara purata; 2.35 proses menunggu masa CPU (3.35) Sepanjang 15 minit terakhir.
Pada sistem dwi-teras ini bermakna:
  • Satu CPU adalah 100% terbiar secara purata, satu CPU sedang digunakan; Tiada proses menunggu masa CPU (1.00) Sepanjang 1 minit terakhir.
  • CPU terbiar sebanyak 160% secara purata; Tiada proses menunggu masa CPU. (0.40) Sepanjang 5 minit terakhir.
  • CPU telah dibebankan sebanyak 135% secara purata; 1.35 proses menunggu masa CPU. (3.35) Sepanjang 15 minit terakhir.

Anda mungkin juga berminat:

  1. 20 Alat baris arahan untuk memantau prestasi Linux - Bahagian 1
  2. 13 Alat Pemantauan Prestasi Linux - Bahagian 2
  3. Perf- Alat Pemantauan dan Analisis Prestasi untuk Linux
  4. NMON: Menganalisis dan Memantau Prestasi Sistem Linux

Kesimpulannya, jika anda seorang pentadbir sistem maka purata beban tinggi adalah benar untuk dibimbangkan. Apabila mereka tinggi, di atas bilangan teras CPU, ia menandakan permintaan yang tinggi untuk CPU, dan purata beban rendah di bawah bilangan teras CPU memberitahu kami bahawa CPU tidak digunakan.