Pemantauan

Memahami Purata Beban pada Linux

Memahami Purata Beban pada Linux
Purata beban adalah pengukuran jumlah kerja berbanding kitaran CPU percuma yang terdapat pada pemproses sistem. Dalam artikel ini saya akan mendefinisikan istilah, menunjukkan bagaimana Linux mengira nilai ini, dan kemudian memberikan gambaran tentang cara menafsirkan beban sistem.

Kaedah Mengira Beban yang berbeza

Sebelum kita menyelami rata-rata beban Linux, kita mesti meneroka berbagai cara pengiraan beban dan menangani pengukuran beban CPU yang paling biasa - peratusan.

Windows mengira beban berbeza dari Linux, dan kerana Windows secara historis lebih popular di desktop, definisi beban Windows secara umum difahami oleh kebanyakan pengguna komputer. Sebilangan besar pengguna Windows telah melihat beban sistem di task manager ditampilkan sebagai peratusan antara 0% hingga 100%.

Di Windows ini diperoleh dengan memeriksa bagaimana "sibuk" Proses Idle Sistem adalah dan menggunakan kebalikan untuk mewakili beban sistem. Sebagai contoh, jika thread terbiar menjalankan 99% masa, beban CPU di Windows akan menjadi 1%. Nilai ini mudah difahami tetapi memberikan sedikit perincian keseluruhan mengenai status sebenar sistem.

Di Linux, rata-rata beban digambarkan dengan nombor perpuluhan bermula dari 0.00. Nilai dapat ditakrifkan secara kasar sebagai jumlah proses selama satu minit terakhir yang harus menunggu giliran untuk pelaksanaan. Tidak seperti Windows, rata-rata beban Linux bukanlah ukuran segera. Beban diberikan dalam tiga nilai - purata satu minit, rata-rata lima minit, dan rata-rata lima belas minit.

Memahami Purata Beban dalam Linux

Pada mulanya, lapisan perincian tambahan ini nampaknya tidak diperlukan jika anda hanya ingin mengetahui keadaan beban CPU semasa dalam sistem anda. Tetapi kerana rata-rata tiga jangka masa diberikan, bukannya pengukuran segera, anda boleh mendapatkan idea yang lebih lengkap mengenai perubahan beban sistem dari masa ke masa dalam satu sekilas tiga angka

Memaparkan purata beban adalah sederhana. Pada baris arahan, anda boleh menggunakan pelbagai perintah. Saya hanya menggunakan arahan "w":

root @ virgo [~] # w
21:08:43 meningkat 38 hari, 4:34, 4 pengguna, rata-rata muatan: 3.11, 2.75, 2.70

Selebihnya arahan akan menunjukkan siapa yang log masuk dan apa yang mereka laksanakan, tetapi untuk tujuan kami maklumat ini tidak relevan jadi saya telah memotongnya dari paparan di atas.

Dalam sistem yang ideal, tidak ada proses yang harus ditahan oleh proses lain (atau utas), tetapi dalam sistem pemproses tunggal, ini berlaku apabila beban melebihi 1.00.

Perkataan "sistem pemproses tunggal" sangat penting di sini. Kecuali anda menjalankan komputer kuno, mesin anda mungkin mempunyai banyak teras CPU. Di mesin yang saya gunakan, saya mempunyai 16 teras:

root @ virgo [~] # nproc
16

Dalam kes ini, purata beban 3.11 sama sekali tidak membimbangkan. Ini hanya bermaksud bahawa lebih daripada tiga proses siap dijalankan dan inti CPU hadir untuk menangani pelaksanaannya. Pada sistem ini, beban harus mencapai 16 untuk dipertimbangkan pada "100%".

Untuk menerjemahkannya ke beban sistem berdasarkan peratus, anda boleh menggunakan perintah mudah, jika tidak disalahgunakan ini:

kucing / proc / loadavg | potong -c 1-4 | echo "skala = 2; ($ (Urutan arahan ini mengasingkan purata 1 minit melalui potongan dan echosnya, dibahagi dengan bilangan teras CPU, melalui bc, kalkulator baris perintah, untuk mendapatkan peratusan.

Nilai ini sama sekali tidak saintifik tetapi memberikan perkiraan kasar beban CPU dalam bentuk peratus.

Minit untuk Belajar, Sepanjang Hayat untuk Menguasai

Pada bahagian sebelumnya saya meletakkan contoh "100%" beban 16.0 pada sistem teras 16 CPU dalam petikan kerana pengiraan beban di Linux sedikit lebih kabur daripada Windows. Pentadbir sistem mesti ingat bahawa:

Oleh kerana itu, menangani beban CPU pada sistem Linux tidak sepenuhnya merupakan masalah empirikal. Sekalipun demikian, beban CPU saja bukan ukuran yang memadai dari keseluruhan penggunaan sumber sistem. Oleh itu, pentadbir Linux yang berpengalaman akan mempertimbangkan pemuatan CPU bersamaan dengan nilai-nilai lain seperti menunggu I / O dan peratusan kernel berbanding waktu sistem.

Saya / O Tunggu

Penantian I / O paling mudah dilihat melalui arahan "atas":

Dalam tangkapan skrin di atas saya telah menyerlahkan nilai tunggu I / O. Ini adalah peratusan waktu CPU menunggu perintah input atau output untuk diselesaikan. Ini biasanya menunjukkan aktiviti cakera tinggi. Walaupun peratusan penantian yang tinggi sahaja tidak dapat menurunkan tugas yang terikat pada CPU secara signifikan, ia akan mengurangkan prestasi I / O untuk tugas-tugas lain dan akan membuat sistem terasa lembap.

Penantian I / O yang tinggi tanpa sebab yang jelas mungkin menunjukkan masalah pada cakera. Gunakan perintah "dmesg" untuk melihat apakah ada kesalahan yang terjadi.

Kernel vs. Masa Sistem

Nilai yang disorot di atas mewakili masa pengguna dan kernel (sistem). Ini adalah pecahan keseluruhan penggunaan masa CPU oleh pengguna (i.e. aplikasi, dll.) dan kernel (i.e. interaksi dengan peranti sistem). Masa pengguna yang lebih tinggi akan menunjukkan lebih banyak penggunaan CPU oleh program di mana waktu kernel yang lebih tinggi akan menunjukkan lebih banyak pemprosesan peringkat sistem.

Beban Purata

Mempelajari hubungan purata beban dengan prestasi sistem sebenar memerlukan masa, tetapi tidak lama kemudian anda akan melihat korelasi yang berbeza. Berbekalkan kerumitan metrik prestasi sistem, anda akan dapat membuat keputusan yang lebih baik mengenai peningkatan perkakasan dan penggunaan sumber program.

Tutorial OpenTTD
OpenTTD adalah salah satu permainan simulasi perniagaan yang paling popular di luar sana. Dalam permainan ini, anda perlu membuat perniagaan pengangku...
SuperTuxKart untuk Linux
SuperTuxKart adalah tajuk hebat yang direka untuk membawa anda pengalaman Mario Kart secara percuma pada sistem Linux anda. Ia cukup mencabar dan meny...
Tutorial Battle for Wesnoth
The Battle for Wesnoth adalah salah satu permainan strategi sumber terbuka paling popular yang boleh anda mainkan pada masa ini. Bukan hanya permainan...