Memahami Rata-Rata Beban Linux dan Memantau Kinerja Linux


Pada artikel ini, kami akan menjelaskan salah satu tugas penting administrasi sistem Linux – pemantauan kinerja sehubungan dengan beban sistem/CPU dan rata-rata beban.

Sebelum melangkah lebih jauh, mari kita pahami dua frasa penting ini dalam semua sistem mirip Unix:

  • Pemuatan sistem/Beban CPU – adalah pengukuran kelebihan atau kekurangan pemanfaatan CPU dalam sistem Linux; jumlah proses yang sedang dieksekusi oleh CPU atau dalam keadaan menunggu.
  • Rata-rata beban – adalah rata-rata beban sistem yang dihitung selama periode waktu tertentu, yaitu 1, 5, dan 15 menit.

Di Linux, rata-rata beban secara teknis diyakini sebagai rata-rata proses yang berjalan dalam antrean eksekusi (kernel) yang ditandai sebagai berjalan atau tidak dapat diinterupsi.

Perhatikan bahwa:

  • Semua, jika tidak sebagian besar, sistem yang didukung oleh Linux atau sistem mirip Unix lainnya mungkin akan menampilkan nilai rata-rata beban di suatu tempat untuk pengguna.
  • Sistem Linux yang benar-benar menganggur mungkin memiliki rata-rata beban nol, tidak termasuk proses yang menganggur.
  • Hampir semua sistem mirip Unix hanya menghitung proses dalam keadaan berjalan atau menunggu. Namun tidak demikian halnya dengan Linux, ini mencakup proses dalam kondisi tidur yang tidak pernah terputus; mereka yang menunggu sumber daya sistem lain seperti disk I/O dll.

Cara Memantau Rata-Rata Beban Sistem Linux

Ada banyak cara untuk memantau rata-rata beban sistem termasuk waktu aktif yang menunjukkan berapa lama sistem telah berjalan, jumlah pengguna, dan rata-rata beban:

uptime

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

Angka-angka tersebut dibaca dari kiri ke kanan, dan keluaran di atas berarti:

  • rata-rata muatan selama 1 menit terakhir adalah 1,98
  • rata-rata muatan selama 5 menit terakhir adalah 2,15
  • rata-rata muatan selama 15 menit terakhir adalah 2,21

Rata-rata beban yang tinggi menyiratkan bahwa sistem kelebihan beban; banyak proses menunggu waktu CPU.

Kami akan mengungkap hal ini di bagian selanjutnya sehubungan dengan jumlah inti CPU. Selain itu, kita juga dapat menggunakan alat terkenal lainnya seperti top dan sekilas yang menampilkan keadaan real-time dari sistem Linux yang sedang berjalan, ditambah banyak alat lainnya:

Komando Tertinggi

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

Alat Sekilas

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

Rata-rata beban yang ditunjukkan oleh alat ini adalah file /proc/loadavg yang dapat dibaca, yang dapat Anda lihat menggunakan perintah cat seperti di bawah ini:

cat /proc/loadavg

2.48 1.69 1.42 5/889 10570

Untuk memantau rata-rata beban dalam format grafik, lihat: ttyload – Menampilkan Grafik Kode Warna Rata-Rata Beban Linux di Terminal

Pada mesin desktop, terdapat alat antarmuka pengguna grafis yang dapat kita gunakan untuk melihat rata-rata beban sistem.

Memahami Beban Rata-Rata Sistem dalam Hubungan Jumlah CPU

Kami tidak mungkin menjelaskan beban sistem atau kinerja sistem tanpa menjelaskan dampak jumlah inti CPU terhadap kinerja.

Multi-prosesor Vs Multi-core

  • Multi-prosesor – adalah tempat dua atau lebih CPU fisik diintegrasikan ke dalam satu sistem komputer.
  • Prosesor multi-inti – adalah CPU fisik tunggal yang memiliki setidaknya dua atau lebih inti terpisah (atau yang juga dapat kita sebut sebagai unit pemrosesan) yang bekerja secara paralel. Artinya dual-core memiliki 2 dua unit pemrosesan, quad-core memiliki 4 unit pemrosesan dan seterusnya.

Selain itu, ada pula teknologi prosesor yang pertama kali diperkenalkan Intel untuk meningkatkan komputasi paralel yang disebut dengan hyper threading.

Di bawah hyper threading, satu inti CPU fisik muncul sebagai dua inti CPU logis ke sistem operasi (namun kenyataannya, ada satu komponen perangkat keras fisik).

Perhatikan bahwa satu inti CPU hanya dapat menjalankan satu tugas pada satu waktu, sehingga teknologi seperti beberapa CPU/prosesor, CPU multi-inti, dan hyper-threading dihidupkan.

Dengan lebih dari satu CPU, beberapa program dapat dijalankan secara bersamaan. CPU Intel masa kini menggunakan kombinasi beberapa inti dan teknologi hyper-threading.

Untuk mengetahui jumlah unit pemrosesan yang tersedia pada suatu sistem, kita dapat menggunakan perintah nproc atau lscpu sebagai berikut:

nproc
4

OR
lscpu

Cara lain untuk mencari jumlah unit pemrosesan menggunakan perintah grep seperti yang ditunjukkan.

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

4

Sekarang, untuk lebih memahami beban sistem, kita akan mengambil beberapa asumsi. Katakanlah kita memiliki rata-rata beban di bawah ini:

23:16:49 up  10:49,  5 user,  load average: 1.00, 0.40, 3.35
Pada sistem inti tunggal, hal ini berarti:
  • Rata-rata CPU telah digunakan sepenuhnya (100%); 1 proses berjalan pada CPU (1,00) selama 1 menit terakhir.
  • CPU menganggur rata-rata sebesar 60%; tidak ada proses yang menunggu waktu CPU (0,40) selama 5 menit terakhir.
  • CPU kelebihan beban rata-rata sebesar 235%; 2.35 proses menunggu waktu CPU (3.35) selama 15 menit terakhir.
Pada sistem dual-core, hal ini berarti:
  • Rata-rata satu CPU menganggur 100%, satu CPU sedang digunakan; tidak ada proses yang menunggu waktu CPU (1,00) selama 1 menit terakhir.
  • CPU menganggur rata-rata sebesar 160%; tidak ada proses yang menunggu waktu CPU. (0,40) selama 5 menit terakhir.
  • CPU kelebihan beban rata-rata sebesar 135%; 1,35 proses sedang menunggu waktu CPU. (3.35) selama 15 menit terakhir.

Anda mungkin juga menyukai:

  1. 20 Alat Baris Perintah untuk Memantau Kinerja Linux – Bagian 1
  2. 13 Alat Pemantauan Kinerja Linux – Bagian 2
  3. Perf- Alat Pemantauan dan Analisis Kinerja untuk Linux
  4. Nmon: Menganalisis dan Memantau Kinerja Sistem Linux

Kesimpulannya, jika Anda seorang administrator sistem maka rata-rata beban yang tinggi adalah hal yang perlu dikhawatirkan. Jika nilainya tinggi, di atas jumlah inti CPU, hal ini menandakan permintaan yang tinggi terhadap CPU, dan rata-rata beban yang rendah di bawah jumlah inti CPU menunjukkan bahwa CPU kurang dimanfaatkan.