Mengapa / bagaimana "waktu aktif" menunjukkan beban CPU> 1?

14

Saya memiliki 1 core CPU yang diinstal pada PC saya. Terkadang, uptimetampilkan memuat> 1. Bagaimana ini mungkin dan apa artinya ini?

EDIT: Nilai naik ke 2.4

Richard Rodriguez
sumber
Catatan: loadberbeda dari load average. Seperti yang dikatakan @michas, beban adalah indikator untuk perhitungan proses yang menunggu untuk dieksekusi, tetapi rata - rata beban adalah beban sistem rata-rata yang dihitung selama periode waktu tertentu yaitu 1, 5 dan 15 menit.
Mohammad Kholghi

Jawaban:

20

Muatan tidak sama dengan penggunaan CPU. Ini pada dasarnya merupakan indikator berapa banyak proses yang menunggu untuk dieksekusi.

Beberapa tautan bermanfaat:

michas
sumber
Oh, ok, itu masuk akal. Apakah ada cara untuk mendapatkan penggunaan CPU, bukan memuat?
Richard Rodriguez
Yah umumnya Anda bisa memiliki banyak CPU. Satu bisa benar-benar sibuk dan yang lainnya hanya menganggur. Lihat htopikhtisar "grafis" yang bagus.
michas
2
ini tidak benar. Rata-rata beban adalah metrik untuk berapa banyak proses yang siap dijalankan. Ini termasuk proses yang menunggu, tetapi juga proses yang sedang dijalankan . Jadi, jika rata-rata beban adalah 1, itu berarti bahwa rata-rata (untuk periode waktu tertentu) satu CPU sedang digunakan; jika dua, itu berarti bahwa rata-rata, dua CPU sedang digunakan. Dengan demikian, rata-rata beban tertentu untuk sistem CPU-tunggal tidak sama dengan rata-rata beban yang sama untuk sistem multi-core.
Wouter Verhelst
7

uptimememperlihatkan beban sistem (bukan penggunaan CPU), yang dijelaskan man uptimesebagai berikut:

Rata-rata beban sistem adalah jumlah rata-rata proses yang berada dalam kondisi runnable atau uninterruptable. Proses dalam kondisi runnable adalah menggunakan CPU atau menunggu untuk menggunakan CPU. Proses dalam keadaan tanpa gangguan sedang menunggu beberapa akses I / O, misalnya menunggu disk. Rata-rata diambil selama tiga interval waktu. Rata-rata beban tidak dinormalisasi untuk jumlah CPU dalam suatu sistem, sehingga rata-rata beban 1 berarti sistem CPU tunggal dimuat sepanjang waktu sedangkan pada sistem 4 CPU itu berarti idle 75% dari waktu.

Selama beban kurang dari jumlah core CPU yang Anda miliki, itu harus baik-baik saja. Jika sampai di atas, itu berarti bahwa sistem Anda tidak dapat mengatasi beban kerjanya "waktu nyata". Jadi, beberapa proses perlu menunggu untuk mendapatkan waktu CPU (atau akses IO). Garis tunggu dibuat.

Jika Anda memiliki 2,7 beban itu berarti bahwa rata-rata (selama 1, 5 atau 15 menit terakhir, tergantung pada nilai yang Anda lihat), 2,7 proses mencoba untuk mengeksekusi secara paralel, tetapi Anda hanya memiliki 1 inti, jadi sistem Anda kelebihan beban. Anda meminta terlalu banyak darinya.

Namun jangan panik, itu mungkin bukan masalah: begitu pekerjaan selesai, biasanya kembali normal.

Totor
sumber
4

Uptime menunjukkan output /proc/loadavguntuk beban.

Halaman dari man 5 prockata

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

Jadi, Anda dapat memiliki beban tinggi bahkan jika Anda memiliki penggunaan CPU 0%. Satu Core dapat memperoleh beban hingga 100% atau 1 pada sistem multi-prosesor.

Lihat juga Beban CPU tinggi selama I / O

Komunitas
sumber
-2
 ps aux --sort -rss |head -15

Ini akan mengurutkan 15 proses yang paling banyak digunakan oleh memori rss

Juga ini akan mengurutkan proses yang paling banyak digunakan oleh cpu dan memori

 ps aux --sort -pid |head -15

Jika Anda memiliki 1 beban CPU lebih dari 1 adalah peringatan, periksa daftar proses dan lihat siapa di antara mereka yang menggunakan paling banyak CPU dan RAM

Saat Anda melihat proses yang paling sering digunakan, coba lihat file apa yang terbuka

lsof -p [PID_most_used]

Juga akan lebih baik jika Anda memberikan ouptut dari perintah atas

klerk
sumber
1
rss tidak terkait dengan rata-rata beban, apa yang sedang Anda bicarakan?
Wouter Verhelst