Sebagai titik klarifikasi, beban tidak secara langsung terkait dengan CPU. Ini adalah salah satu kesalahpahaman paling umum tentang beban. Fakta bahwa Anda menyebutkan disk tampaknya mengakui bahwa Anda mengetahui hal ini, tetapi saya hanya ingin menyebutkannya ketika saya melihat komentar yang mengindikasikan beberapa orang percaya sebaliknya.
Load didefinisikan sebagai jumlah proses yang menunggu sumber daya sistem. Ini biasanya CPU, disk, atau jaringan, tetapi dapat berupa perangkat keras apa saja.
"Proses" tidak harus merupakan proses yang lengkap juga. Sebuah utas didefinisikan sebagai "proses ringan", dan setiap utas yang menunggu meningkatkan jumlah beban.
Untuk mengetahui proses mana yang menjadi masalah:
Jalankan top -H
(yang -H
memungkinkan menampilkan utas)
Pintasan keyboard bervariasi menurut versi.
Dengan top baru (3.3 dan setelah):
Tekan funtuk memunculkan opsi bidang.
Gunakan tombol panah untuk pergi ke S = Process Status
dan tekan s.
Tekan quntuk kembali ke halaman utama.
Tekan Shift+ Runtuk membalikkan penyortiran.
Dengan atasan yang lebih tua (sebelum 3.3):
Tekan Shift+ ountuk memunculkan opsi pengurutan.
Kemudian wuntuk mengurutkan berdasarkan status proses.
Kemudian Enteruntuk kembali ke halaman utama.
Lalu Shift+ Runtuk membalikkan penyortiran.
Kemudian di S
kolom, cari proses yang memiliki D
atau R
(sekarang harus di atas). Ini akan menjadi proses yang berkontribusi terhadap beban sistem.
Jika prosesnya menunjukkan a D
, itu berarti "tidur tanpa gangguan". Biasanya ini disebabkan ketika proses menunggu di I / O (disk, jaringan, dll).
Jika proses menunjukkan R
, itu berarti hanya melakukan perhitungan normal.
Untuk menemukan lebih banyak tentang apa yang dilakukan proses-proses itu:
Dengan top baru (3.3 dan setelah):
Tekan funtuk memunculkan opsi bidang.
Gunakan tombol panah untuk pergi ke WCHAN = Sleeping in Function
dan tekan duntuk mengaktifkannya.
Kemudian quntuk kembali ke halaman utama.
Dengan atasan yang lebih tua (sebelum 3.3):
Tekan flalu yuntuk mengaktifkan WCHAN
bidang.
Jika sistem Anda memiliki opsi kernel yang diperlukan, dan file wchan ada di sistem Anda (saya lupa di mana itu dan apa namanya) , WCHAN
bidang tersebut akan menunjukkan kepada Anda apa fungsi kernel proses saat ini sedang berjalan (jika bidang hanya menunjukkan -
atau ?
semuanya, Anda tidak memiliki dukungan).
Sedikit google di sini dan Anda harus berada di jalan.
Jika Anda tidak memiliki dukungan wchan, Anda selalu dapat mencoba strace
proses untuk mengetahui apa yang mereka lakukan, tapi itu cara yang sulit.