Pemantauan

Memahami Rata-Rata Beban di Linux

Memahami Rata-Rata Beban di Linux
Rata-rata beban adalah pengukuran jumlah pekerjaan versus siklus CPU gratis yang tersedia pada prosesor sistem. Dalam artikel ini saya akan mendefinisikan istilah tersebut, mendemonstrasikan bagaimana Linux menghitung nilai ini, kemudian memberikan wawasan tentang bagaimana menginterpretasikan beban sistem.

Berbagai Metode Menghitung Beban

Sebelum kita masuk ke rata-rata beban Linux, kita harus menjelajahi berbagai cara beban dihitung dan mengatasi pengukuran beban CPU yang paling umum - persentase.

Windows menghitung beban secara berbeda dari Linux, dan karena Windows secara historis lebih populer di desktop, definisi beban Windows umumnya dipahami oleh sebagian besar pengguna komputer. Sebagian besar pengguna Windows telah melihat beban sistem di pengelola tugas ditampilkan sebagai persentase mulai dari 0% hingga 100%.

Di Windows ini diturunkan dengan memeriksa seberapa "sibuk" Proses Sistem Idle adalah dan menggunakan kebalikannya untuk mewakili beban sistem. Misalnya, jika utas menganggur mengeksekusi 99% dari waktu, beban CPU di Windows akan menjadi 1%. Nilai ini mudah dipahami tetapi kurang memberikan detail keseluruhan tentang status sebenarnya dari sistem.

Di Linux, rata-rata beban diwakili oleh angka desimal mulai dari 0.00. Nilai dapat secara kasar didefinisikan sebagai jumlah proses selama satu menit terakhir yang harus menunggu giliran untuk dieksekusi. Tidak seperti Windows, rata-rata beban Linux bukanlah pengukuran instan. Beban diberikan dalam tiga nilai - rata-rata satu menit, rata-rata lima menit, dan rata-rata lima belas menit.

Memahami Rata-Rata Beban di Linux

Pada awalnya, lapisan detail tambahan ini tampaknya tidak perlu jika Anda hanya ingin mengetahui status beban CPU saat ini di sistem Anda. Tetapi karena rata-rata dari tiga periode waktu diberikan, daripada pengukuran instan, Anda bisa mendapatkan gambaran yang lebih lengkap tentang perubahan beban sistem dari waktu ke waktu dalam sekali pandang dari tiga angka

Menampilkan rata-rata beban itu sederhana. Di baris perintah, Anda dapat menggunakan berbagai perintah. Saya cukup menggunakan perintah "w":

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

Perintah lainnya akan menampilkan siapa yang masuk dan apa yang mereka jalankan, tetapi untuk tujuan kami informasi ini tidak relevan jadi saya telah memotongnya dari tampilan di atas.

Dalam sistem yang ideal, tidak ada proses yang harus ditahan oleh proses (atau utas) lain, tetapi dalam sistem prosesor tunggal, ini terjadi ketika beban berjalan di atas 1.00.

Kata-kata "sistem prosesor tunggal" sangat penting di sini. Kecuali Anda menjalankan komputer kuno, mesin Anda mungkin memiliki banyak inti CPU. Di mesin yang saya gunakan, saya memiliki 16 core:

root@virgo [~]# nproc
16

Dalam hal ini, rata-rata beban 3.11 sama sekali tidak mengkhawatirkan. Ini berarti bahwa sedikit lebih dari tiga proses siap dieksekusi dan inti CPU hadir untuk menangani eksekusinya their. Pada sistem khusus ini, beban harus mencapai 16 untuk dipertimbangkan pada "100%".

Untuk menerjemahkan ini ke beban sistem berbasis persen, Anda dapat menggunakan perintah sederhana ini, jika tidak tumpul,:

cat /proc/loadavg | potong -c 1-4 | echo "skala=2; ($(Urutan perintah ini mengisolasi rata-rata 1 menit melalui cut dan menggemakannya, dibagi dengan jumlah inti CPU, melalui bc, kalkulator baris perintah, untuk mendapatkan persentase.

Nilai ini sama sekali tidak ilmiah tetapi memberikan perkiraan kasar beban CPU dalam persen.

Satu Menit untuk Belajar, Seumur Hidup untuk Menguasai

Di bagian sebelumnya saya memberikan contoh "100%" dari beban 16.0 pada sistem inti CPU 16 dalam tanda kutip karena perhitungan beban di Linux sedikit lebih samar daripada Windows. Administrator sistem harus mengingat bahwa:

Karena itu, menangani beban CPU pada sistem Linux tidak sepenuhnya merupakan masalah empiris. Meskipun demikian, beban CPU saja bukanlah ukuran yang memadai untuk pemanfaatan sumber daya sistem secara keseluruhan. Dengan demikian, administrator Linux yang berpengalaman akan mempertimbangkan beban CPU bersamaan dengan nilai-nilai lain seperti I/O wait dan persentase kernel versus waktu sistem.

I/O Tunggu

I/O wait paling mudah dilihat melalui perintah "top":

Pada tangkapan layar di atas saya telah menyoroti nilai tunggu I/OO. Ini adalah persentase waktu CPU menunggu perintah input atau output untuk diselesaikan. Ini biasanya menunjukkan aktivitas disk yang tinggi. Sementara persentase menunggu yang tinggi saja mungkin tidak secara signifikan menurunkan tugas-tugas yang terikat CPU, itu akan mengurangi kinerja I/O untuk tugas-tugas lain dan akan membuat sistem terasa lamban.

Penantian I/O yang tinggi tanpa penyebab yang jelas mungkin mengindikasikan masalah dengan disk. Gunakan perintah "dmesg" untuk melihat apakah ada kesalahan yang terjadi.

Kernel vs. Waktu Sistem

Nilai yang disorot di atas mewakili waktu pengguna dan kernel (sistem). Ini adalah rincian konsumsi keseluruhan waktu CPU oleh pengguna (i.e. aplikasi, dll.) dan kernel (i.e. interaksi dengan perangkat sistem). Waktu pengguna yang lebih tinggi akan menunjukkan lebih banyak penggunaan CPU oleh program di mana waktu kernel yang lebih tinggi akan menunjukkan lebih banyak pemrosesan tingkat sistem.

Beban Cukup Rata-Rata

Mempelajari hubungan rata-rata beban dengan kinerja sistem yang sebenarnya membutuhkan waktu, tetapi tak lama kemudian Anda akan melihat korelasi yang berbeda. Berbekal kerumitan metrik kinerja sistem, Anda akan dapat membuat keputusan yang lebih baik tentang peningkatan perangkat keras dan pemanfaatan sumber daya program.

Pertempuran untuk Tutorial Westnoth
The Battle for Wesnoth adalah salah satu game strategi open source terpopuler yang bisa kamu mainkan saat ini. Tidak hanya game ini telah dikembangkan...
0 A.D. tutorial
Dari sekian banyak game strategi di luar sana, 0 A.D. berhasil menonjol sebagai judul yang komprehensif dan permainan taktis yang sangat dalam meskipu...
Tutorial Unity3D
Pengantar Unity 3D Unity 3D adalah mesin pengembangan game yang tangguh. Ini adalah lintas platform yang memungkinkan Anda membuat game untuk seluler,...