Apa itu beban sistem?

13

Di pekerjaan saya, kami memiliki repositori data yang menjalankan Ubuntu 12.04.03 CLI dan ketika saya memeriksa mereka pagi ini ketika saya login daripada memberi saya informasi normal, katanya informasi tidak dapat ditampilkan karena beban sistem di atas 2 dan Saya bertanya-tanya apa artinya ini? Saya baru saja memulainya kembali karena tidak responsif apakah ada hubungannya dengan proses memulai dan membuat semuanya berjalan?

Sean G
sumber

Jawaban:

17

Jalankan topatau uptimeperintah:

$ uptime
 19:36:03 up 5 days,  9:12,  8 users,  load average: 0.05, 0.16, 0.21
$ top -bn1 | head -1
top - 19:36:07 up 5 days,  9:13,  8 users,  load average: 0.05, 0.16, 0.21

Rata-rata beban yang dinyatakan di sini adalah :

/proc/loadavg
          The  first  three  fields  in this file are load average figures
          giving the number of jobs in the run queue (state R) or  waiting
          for disk I/O (state D) averaged over 1, 5, and 15 minutes.  They
          are the same as the load average numbers given by uptime(1)  and
          other  programs. 

Pertimbangkan rata-rata beban saya: 0.05, 0.16, 0.21
Itu berarti, selama menit terakhir, rata-rata, 0,05 proses telah menunggu sumber daya.

Haruskah Anda khawatir bahwa rata-rata beban 2? Secara umum, jika rata-rata beban lebih besar dari jumlah CPU yang tersedia, maka beberapa proses harus diam menunggu slot CPU.

Jika rata-rata beban kurang dari output nproc, Anda tidak perlu khawatir.

Juga lihat: Apa artinya rata-rata memuat di unix / linux? Seperti yang dicatat Braiam, prosesnya tidak harus menunggu hanya untuk CPU: Memahami rata-rata beban vs penggunaan cpu

muru
sumber
Itu sangat membantu tetapi setelah reboot haruskah itu berjalan panas mengingat kita belum pernah melihat ini sebelumnya? Ini menjalankan AMD Athlon (tm) 64 X2 Dual Core Processor 4200+ dan tidak menjalankan proses grafis atau ekstra.
Sean G
@ Seeg itu bisa, tergantung pada apa lagi yang dijalankan. Itu bisa menjadi acara satu kali. Jika ini terjadi berulang kali, gunakan sesuatu seperti bootchart untuk melihat apa yang terjadi saat boot.
muru
"Itu berarti, selama menit terakhir, rata-rata, proses 0,05 telah menunggu CPU." sebenarnya ini tidak lengkap, sumber daya bisa berupa perangkat keras apa pun , bukan hanya CPU. Itu bisa berupa disk, jaringan, GPU, dll.
Braiam
@Braiam benar (saya membuat pernyataan itu terlalu sederhana). Saya menemukan q ini saat Googling loadavg, tetapi tidak berpikir untuk memasukkannya.
muru
Tepat setelah reboot, rata-rata beban mungkin memang tinggi karena sistem baru saja melalui urutan init intensif. Seperti yang dijelaskan dalam jawaban, perlu beberapa menit agar angka-angka tersebut turun menjadi normal. Pekerjaan anacron yang terlambat dapat memperpanjang periode.
Emil Jeřábek mendukung Monica
7

Beban Sistem atau Beban Sistem Rata-rata

Ini dijalankan-antrian yaitu antrian proses menunggu sumber daya (cpu, i / o dll) tersedia.

Anggap satu inti cpusebagai satu jalur lalu lintas dengan jembatan dan proses sebagai mobil.

Sekarang dalam situasi ini Beban sistem adalah

  • 0,0 - Jika tidak ada lalu lintas di jalan.
  • 1.0 - Jika lalu lintas di jalan persis dengan kapasitas jembatan.
  • Lebih dari 1 - Jika lalu lintas di jalan lebih tinggi dari kapasitas jembatan dan mobil harus menunggu untuk melewati jembatan.

Nomor ini tidak dinormalisasi menurut Anda cpu. Dalam sistem Multiprocessor, beban 2 berarti pemanfaatan 100% dari kami menggunakan prosesor dual-core, beban 4 berarti pemanfaatan 100% jika kami menggunakan quad-core.

Anda bisa mendapatkan beban sistem Anda menggunakan

  • uptime
  • cat /proc/loadavg
  • top

    $ waktu aktif 22:49:47 hingga 11:47, 4 pengguna, rata-rata muat: 2.20, 1.03, 0.82

Di sini, tiga angka terakhir mewakili rata-rata beban sistem masing-masing selama 1, 5, dan 15 menit.

Contoh di atas menunjukkan bahwa rata-rata ada 2,20 proses menunggu untuk dijadwalkan pada run-queue yang diukur pada menit terakhir.

g_p
sumber
Ini tidak menjelaskan berapa rata-rata beban.
Braiam
menambahkannya dalam jawaban.
g_p
2

Beban sistem terkait dengan jumlah inti CPU, misalnya jika Anda memiliki Quad Core CPU (4 Cores) nilai 1 berarti beban sistem pada 25%, dan 4 berarti 100%.

Ghassen Telmoudi
sumber
Ini tidak menjelaskan apa itu rata-rata beban, dan salah tentang hubungan antara cpu% waktu dan rata-rata beban.
Braiam
0

Jika Anda mengetikkan terminal uptime Anda akan melihat sesuatu seperti: rata - rata muat dan tiga kolom digit yang memuat dari satu, lima dan lima belas menit. Jika Anda memiliki prosesor dual core 2 berarti 100% memanfaatkan, 1 berarti 50% dll.

Edid
sumber
Ini tidak menjelaskan apa itu rata-rata beban, dan salah tentang hubungan antara cpu% waktu dan rata-rata beban.
Braiam
1
Ya itu. Dari manual uptime: load rata-rata 1 berarti sistem CPU tunggal dimuat sepanjang waktu sedangkan pada sistem 4 CPU itu berarti idle 75% dari waktu.
EdiD
Tidak ada hubungan antara CPU load dan rata-rata load. Periksa lagi.
Braiam
0

Beban sistem 2.0 tidak terlalu tinggi. Pada sistem multi-core, CPU Anda mungkin masih menganggur sebagian.

Rata-rata beban adalah ukuran seberapa kelebihan inti CPU dalam hal jumlah proses yang ingin menggunakannya sekaligus.

Yang berikut ini mengasumsikan CPU single core (single thread):

  • 0,0

    CPU tidak melakukan apa-apa sama sekali. Jika suatu proses mulai menggunakan CPU maka itu akan menjadi satu-satunya yang menggunakannya.

  • 1.0

    CPU pada penggunaan maksimum, tetapi tidak ada pertentangan antara proses untuk menggunakan CPU. Artinya, hanya satu proses yang berjalan sehingga dapat mengklaim 100% dari waktu CPU untuk dirinya sendiri. Atau, beberapa proses berjalan tetapi tidak ada yang mengklaim CPU 100%, dan penggunaan CPU gabungannya menambahkan hingga 100%. Mereka semua masih berjalan secepat mereka akan berjalan bahkan jika mereka memiliki CPU sepenuhnya untuk diri mereka sendiri.

  • Lebih besar dari 1,0

    CPU pada penggunaan maksimum, dan ada beberapa proses yang ingin menggunakannya secara bersamaan sehingga mereka berjalan lebih lambat dari yang seharusnya dapat dijalankan jika mereka menggunakan CPU secara eksklusif. Misalnya, rata-rata beban 3,0 menunjukkan proses berjalan pada sepertiga kecepatan yang ingin mereka jalankan. Rata-rata beban 50,0 mengindikasikan proses berjalan pada 1/50 kecepatan yang ingin mereka jalankan, karena semua proses lainnya berjalan. Artinya, angka lebih tinggi dari 1,0 menunjukkan bahwa CPU yang tersedia dibagi antara lebih banyak dan lebih banyak proses yang aktif.

Memiliki multi-core CPU tidak mengubah arti angka-angka tetapi mengubah bagaimana mereka harus ditafsirkan. Misalnya, jika Anda memiliki CPU 4 inti, maka beban 1,0 masih setara dengan satu proses menggunakan CPU 100% pada satu inti, tetapi ada tiga core lainnya. Jadi pada CPU 4 inti, titik efisiensi maksimum adalah 4.0, bukan 1.0 - dan titik di mana semuanya berjalan pada efisiensi 1/3 adalah 12.0, bukan 3.0. Untuk menambah kompleksitas, satu proses mungkin memiliki lebih dari satu utas masing-masing mengklaim CPU sendiri. Jadi satu proses dapat menggunakan 100% dari semua 4 core jika multi-threaded.

thomasrutter
sumber