Tidak pasti, tetapi kebanyakan terus 1.00*n_cpu
.
Muatannya berarti sebagai berikut: jika ada beberapa proses pada sistem cpu tunggal, mereka tampaknya berjalan paralel. Tetapi itu tidak benar. Apa yang secara praktis terjadi: kernel memberikan 1/100 detik untuk suatu proses, dan kemudian memecahnya berjalan dengan interupsi. Dan memberikan 1/100 detik berikutnya untuk proses lain.
Praktis pertanyaan, "proses mana yang harus mendapatkan interval 1/100 detik berikutnya?", Akan diputuskan oleh heuristik yang kompleks. Ini dinamai penjadwalan tugas .
Tentu saja, proses yang diblokir, misalnya mereka menunggu data apa yang mereka baca dari disk, dibebaskan dari penjadwalan tugas ini.
Apa yang dimuat mengatakan: berapa banyak proses yang saat ini menunggu kerangka waktu 1/100 detik berikutnya. Tentu saja, itu adalah nilai rata-rata. Ini karena Anda dapat melihat beberapa angka dalam a cat /proc/loadavg
.
Situasi dalam sistem multi-cpu sedikit lebih rumit. Ada beberapa CPU, yang kerangka waktunya dapat diberikan untuk beberapa proses. Itu membuat penjadwalan tugas sedikit - tapi tidak terlalu - kompleks. Tetapi situasinya sama.
Kernel cerdas, ia mencoba berbagi sumber daya sistem untuk efisiensi optimal, dan itu sudah dekat dengan itu (ada hal-hal optimasi kecil, misalnya lebih baik jika suatu proses akan dijalankan waktu yang paling lama mungkin pada saat yang sama cpu karena pertimbangan caching, tetapi mereka tidak masalah di sana). Ini karena jika kita memuat 8, itu berarti: sebenarnya ada 8 proses menunggu slice waktu berikutnya. Jika kita memiliki 8 cpus, kita dapat memberikan irisan waktu ini kepada cpus satu-ke-satu, dan dengan demikian sistem kita akan digunakan secara optimal.
Jika Anda melihat a top
, Anda dapat melihat bahwa jumlah proses yang berjalan sebenarnya sangat rendah: mereka adalah proses yang ditandai di R
sana. Bahkan pada sistem yang tidak terlalu hardcore sering di bawah 5. Ini sebagian karena proses menunggu data mereka dari disk atau dari jaringan juga ditangguhkan (ditandai dengan S
di atas). Muatan hanya menunjukkan penggunaan cpu.
Ada alat untuk mengukur beban disk juga, karena mereka seharusnya setidaknya penting sebagai pemantauan penggunaan CPU, tetapi entah bagaimana itu tidak begitu dikenal di sini di dunia sysadmin profesional kami.
Alat Windows sering membagi beban dengan jumlah CPU yang sebenarnya. Hal ini menyebabkan beberapa administrator sistem windows profesional menggunakan beban sistem dalam pengertian dibagi-per-CPU. Mereka tidak benar dan mungkin akan lebih bahagia setelah Anda menjelaskan hal ini kepada mereka.
CPU Multicore praktis adalah beberapa CPU pada chip silikon yang sama. Tidak ada perbedaan.
Dalam kasus CPU hyperthreaded ada efek samping yang menarik: memuat cpu membuat pasangan hyperthreaded lebih lambat. Tetapi ini terjadi pada lapisan yang lebih dalam yang ditangani oleh penjadwalan tugas normal, meskipun itu dapat (dan harus) memengaruhi keputusan pemindahan proses penjadwal.
Tetapi dari sudut pandang kami saat ini - apa yang menentukan beban sistem - tidak masalah juga.