Seberapa tinggi pemuatan sistem?

12

Setiap kali saya masuk ke server saya melalui SSH itu membuat saya sedikit info server. Alamat IP IE, Swap Usage, Memory Usage, dll. Salah satu hal lain yang saya flash adalah Sistem Load. Sekarang sebagian besar waktu jumlah beban sistem <0,10 tetapi di lain waktu saya melihatnya naik ke 0,89 (biasanya sekitar boot).

Ini memunculkan pertanyaan, seberapa tinggi beban sistem? Misalnya apakah mungkin untuk naik ke 2.00 bahkan 100.00?

Hunter Dolan
sumber
Bagian pecahan menunjukkan penggunaan CPU, bagian desimal jumlah proses menunggu. Sesuatu seperti 100.89akan lebih mungkin daripada100.00
Lekensteyn
kemungkinan duplikat dari rata
Caleb
@ Caleb, saya tidak setuju itu duplikat. Mungkin OP ingin menanyakan hal yang serupa, seperti "seberapa tinggi beban sistem (dan masih dapat berjalan)?". Tapi seperti yang diungkapkan, itu bukan pertanyaan yang sama.
Cyclops
@ Cyclops: Jika OP tidak berniat untuk bertanya tentang tingkat yang dapat diterima pada server dan mengajukan pertanyaan murni teoritis tentang bagaimana * sistem nix bekerja bukankah itu menjadi topik di sini dan kandidat untuk bermigrasi ke unix.SE?
Caleb

Jawaban:

17

Ini memunculkan pertanyaan, seberapa tinggi beban sistem? Misalnya apakah mungkin untuk naik ke 2.00 bahkan 100.00?

Benar. Melihat uptimehalaman manual:

   System load averages is the average number of processes that are either
   in a runnable or uninterruptable state.  A process in a runnable  state
   is  either  using the CPU or waiting to use the CPU. A process in unin‐
   terruptable state is waiting for some I/O access, eg waiting for  disk.
   The  averages  are  taken over the three time intervals.  Load averages
   are not normalized for the number of CPUs in a system, so a load  aver‐
   age  of 1 means a single CPU system is loaded all the time while on a 4
   CPU system it means it was idle 75% of the time.

Jadi jika Anda memiliki banyak proses yang menunggu untuk dijalankan (atau banyak proses yang diblokir menunggu I / O), Anda akan memiliki rata-rata beban yang tinggi. Artikel ini membahasnya secara lebih rinci, dan memiliki tautan bermanfaat ke sumber daya lain.

Pada sistem tanpa beban, rata-rata beban biasanya berada dalam kisaran 0 <= load_average <= n , di mana n adalah jumlah inti pada sistem Anda.

larsks
sumber
1
Yap, Menunggu I / O adalah cara mudah untuk membuat banyak beban: Pasang berbagi nfs, pergantian server nfs, mulai 10.000 proses yang mencoba menyentuh sesuatu pada bagian nfs: boom, memuat 10.000
Jens Timmerman
5

Saya telah melihat sistem hidup mencapai ribuan. Load Average, ukuran relatif berdasarkan proses menunggu berapa banyak kompetisi yang ada untuk mendapatkan perhatian kernel dan diberikan waktu pada CPU. Jika mesin dibanjiri dengan pekerjaan atau jatuh, itu bisa memakan waktu lama.

Tingkat apa yang dapat diterima tergantung pada mesin, jumlah inti, jenis penjadwal pekerjaan kernel yang digunakan, dan pekerjaan yang Anda harapkan. Saya memiliki beberapa mesin yang cukup senang di kisaran ~ 10 tetapi rawa jika mereka mencapai ~ 40-50. Yang lain menjadi sangat lamban pada usia 2 dan tidak dapat digunakan pada usia 10 tahun.

Bukan hal yang aneh jika beban menjadi boot dengan durring yang tinggi karena banyak hal yang dilakukan sekaligus dan mesin tersebut berhenti bekerja. Saya akan mempertimbangkan ~ 1 beban yang cukup normal untuk melakukan booting durring untuk Linux desktop, kemudian menetap ke ~ 0.1 sambil tidak melakukan apa-apa.

Caleb
sumber
3
Koreksi kecil: Load Average bukan ukuran waktu. Jumlah rata-rata proses yang menunggu. Tidak ada cara untuk membedakan antara 1) satu proses memonopoli CPU dan yang lain tidak pernah mendapatkannya, dan 2) dua proses terus-menerus berdagang. Keduanya sama-sama berjumlah 1,0.
Plutor
1
Saya telah melihat 1500+ di kotak linux yang serius. Kemudian meninggal.
Tom O'Connor
3

Di Linux, nilai rata-rata sistem memuat terdiri dari proses di salah satu dari tiga negara yang berbeda. Secara umum, dapat dikatakan bahwa rata-rata beban adalah jumlah proses yang menunggu waktu CPU atau menghabiskan waktu CPU. Tiga nilai dalam ikhtisar rata-rata beban adalah rata-rata beban selama menit terakhir, 5 menit terakhir dan 15 menit terakhir.

Tiga keadaan proses yang berbeda yang dihitung terhadap rata-rata beban adalah: (1) proses yang berjalan pada CPU, (2) proses yang menunggu waktu CPU dan (3) proses dalam tidur yang tidak terputus. Kategori terakhir, walaupun tidak menghasilkan beban CPU, dapat meningkatkan rata-rata beban sistem secara signifikan.

Misalnya, selusin proses menunggu pembacaan dari disk yang sangat sibuk atau tidak tersedia akan menghasilkan rata-rata beban 12 sebagai proses dalam tidur yang tidak terputus, tetapi CPU Anda dapat menganggur dengan sempurna untuk sementara waktu.

Jadi, ya, rata-rata muat dapat dengan mudah naik hingga dua digit. Seberapa buruk itu agak tergantung pada perangkat keras Anda. Jika Anda memiliki 16 core, memiliki 16 proses menunggu waktu CPU tidak terlalu buruk. Pada mesin single core, memiliki 3 proses menunggu waktu CPU bisa sangat buruk.

wzzrd
sumber
Saya pikir itu buruk hanya jika mereka adalah proses yang terikat CPU, yang jarang terjadi. Sebagian besar proses besar terikat IO atau / dan RAM.
peterh
3

Buat proses C sederhana menjalankan loop tak terbatas di 10.000 utas. Berikan prioritas yang sangat rendah (+20). Beban Anda akan 10.000, sedangkan sistem Anda masih dapat digunakan. Ini hanya akan menggunakan RAM yang sangat sedikit (paling banyak beberapa megabyte).

Walaupun ini merupakan konfigurasi yang tidak biasa, dalam sistem nyata Anda tidak akan menemukan ini.

Beban sistem hanya berarti jumlah rata-rata proses yang menunggu slot waktu cpu, tidak kurang dan tidak lebih. Berikut ini jawaban lain tentang cara yang tepat untuk menginterpretasikan beban sistem .

Dalam pengalaman sehari-hari, muatan lebih dari 30+ berarti sebagian besar masalah.

peterh - Pasang kembali Monica
sumber
2

Beberapa detik setelah membunuh proses yang memakan CPU lama 450Mhz:

masukkan deskripsi gambar di sini

petrus
sumber
1

Ketika Anda berulang kali memulai proses yang memblokir segera, beban akan setinggi jumlah proses yang Anda kelola untuk memulai. Dengan anggapan Anda memiliki cukup RAM sehingga sistem tidak bertukar, sistem bahkan akan tetap responsif karena beban karena proses pemblokiran tidak terlalu berbahaya.

Peter G.
sumber
1

Saya telah melihat server berjalan pada> 200 beban.

Saya akan menekankan tes dan melihat.

Kedare
sumber