Unix / Linux - Prestasi Sistem
Hai sana, para penggemar teknologi yang bersemangat! Sebagai guru ilmu komputer yang ramah di lingkungan sekitar Anda, saya sangat gembira untuk memandu Anda melalui dunia yang menarik dari prestasi sistem Unix/Linux. Jangan khawatir jika Anda baru dalam pemrograman - kita akan mulai dari dasar dan naik turun. Jadi, ambil secangkir kopi (atau teh, jika itu hal Anda), dan mari kita masuk ke dalam!
Komponen Prestasi
Sebelum kita mulai memanipulasi sistem kita, sangat penting untuk memahami apa saja yang membentuk prestasi sistem. Bayangkan komputer Anda sebagai orkestra yang diatur dengan baik - setiap komponen memainkan peran penting dalam menciptakan performansi harmonis.
1. Penggunaan CPU
Unit Pemroses Sentral (CPU) seperti pengarah orkestra kita. Itu bertanggung jawab untuk menjalankan instruksi dan mengkoordinasi semua komponen lainnya. Ketika kita membicarakan penggunaan CPU, kita merujuk kepada betapa sibuk pengarah ini.
2. Penggunaan Memori
Memori, atau RAM, seperti naskah untuk orkestra kita. Itu menyimpan data yang CPU perlu akses secara cepat. Jika kita habiskan memori, performansi kita bisa lambat secara dramatis.
3. I/O Disk
Input/Output (I/O) Disk seperti proses pemusik mengambil alat baru atau naskah. Itu melibatkan membaca dari atau menulis ke hard drive, yang bisa menjadi operasi lebih lambat dibandingkan mengakses RAM.
4. Prestasi Jaringan
Prestasi jaringan seperti bagaimana orkestra kita bisa mendengar satu sama lain dan tetap sinkron. Itu melibatkan kecepatan dan efisiensi transfer data melalui jaringan.
Alat Prestasi
Sekarang kita mengerti komponen-komponen ini, mari kita lihat beberapa alat yang bisa kita gunakan untuk mengukur dan meningkatkan prestasi sistem kita. Saya suka menganggap ini sebagai alat penyetelan orkestra kita.
1. Perintah top
Perintah top
seperti dasbor untuk sistem Anda. Itu menyediakan pandangan real-time dari proses yang berjalan dan sumber daya sistem.
$ top
Perintah ini akan menampilkan daftar proses yang diperbarui secara terus-menerus, diurutkan berdasarkan penggunaan CPU secara default. Mari kitauraikan apa yang Anda lihat:
- PID: ID Proses
- USER: Pengguna yang memiliki proses
- PR: Prioritas
- NI: Nilai Nice (mengpengaruhi prioritas)
- VIRT: Memori virtual yang digunakan
- RES: Memori fisik yang digunakan
- SHR: Memori bersama
- S: Status proses
- %CPU: Penggunaan CPU
- %MEM: Penggunaan Memori
- TIME+: Waktu CPU total
- COMMAND: Nama perintah
2. Perintah vmstat
Perintah vmstat
seperti stetoskop untuk hati sistem Anda - itu melaporkan informasi tentang proses, memori, paging, I/O blok, penangkapan, dan aktivitas CPU.
$ vmstat 2 5
Perintah ini akan menampilkan statistik sistem setiap 2 detik, selama 5 iterasi. Outputnya termasuk:
- r: Jumlah proses menunggu waktu berjalan
- b: Jumlah proses dalam tidur tak terganggu
- swpd: Jumlah memori virtual yang digunakan
- free: Jumlah memori yang kosong
- buff: Jumlah memori yang digunakan sebagai buffer
- cache: Jumlah memori yang digunakan sebagai cache
- si: Jumlah memori yang diimpor dari disk
- so: Jumlah memori yang diekspor ke disk
- bi: Blok yang diterima dari perangkat blok
- bo: Blok yang dikirim ke perangkat blok
- in: Jumlah interupsi per detik
- cs: Jumlah pergantian konteks per detik
- us: Waktu dihabiskan untuk menjalankan kode non-kernel
- sy: Waktu dihabiskan untuk menjalankan kode kernel
- id: Waktu dihabiskan dalam mode idle
- wa: Waktu dihabiskan menunggu I/O
3. Perintah iostat
Perintah iostat
seperti speedometer untuk drive disk Anda. Itu melaporkan statistik CPU dan input/output untuk perangkat dan partisi.
$ iostat -x 2 5
Perintah ini akan menampilkan statistik diperpanjang setiap 2 detik, selama 5 iterasi. Outputnya termasuk:
- Device: Nama perangkat
- rrqm/s: Request read merged per detik
- wrqm/s: Request write merged per detik
- r/s: Reads per detik
- w/s: Writes per detik
- rkB/s: Kilobytes read per detik
- wkB/s: Kilobytes written per detik
- avgrq-sz: Ukuran request rata-rata dalam sektor
- avgqu-sz: Panjang antrian rata-rata
- await: Waktu rata-rata untuk permintaan I/O
- svctm: Waktu service rata-rata
- %util: Persentase waktu CPU saat permintaan I/O dikeluarkan
4. Perintah netstat
Perintah netstat
seperti pengontrol lalu lintas untuk jaringan Anda. Itu menampilkan koneksi jaringan, tabel routing, statistik antar muka, koneksi penipuan, dan keanggotaan multicast.
$ netstat -tuln
Perintah ini akan menampilkan:
- Koneksi Internet aktif (TCP dan UDP)
- Sockets yang sedang mendengarkan -Alamat numerik dan nomor port
Outputnya termasuk:
- Proto: Protokol (TCP atau UDP)
- Recv-Q: Data antri untuk diterima
- Send-Q: Data antri untuk dikirim
- Local Address:Alamat local socket
- Foreign Address:Alamat remote socket
- State: Status socket
5. Perintah sar
Perintah sar
(System Activity Reporter) seperti perekam kotak hitam untuk sistem Anda. Itu mengumpulkan, melaporkan, dan menyimpan informasi aktivitas sistem.
$ sar -u 2 5
Perintah ini akan menampilkan statistik penggunaan CPU setiap 2 detik, selama 5 iterasi. Outputnya termasuk:
- %user: Persentase penggunaan CPU di tingkat pengguna
- %nice: Persentase penggunaan CPU di tingkat pengguna dengan prioritas nice
- %system: Persentase penggunaan CPU di tingkat sistem
- %iowait: Persentase waktu CPU idle saat sistem memiliki permintaan I/O yang belum terselesaikan
- %steal: Persentase waktu yang dihabiskan dalam menunggu secara paksa oleh CPU virtual saat hypervisor melayani CPU virtual lain
- %idle: Persentase waktu CPU idle saat sistem tidak memiliki permintaan I/O yang belum terselesaikan
Berikut adalah tabel yang menguraikan alat-alat prestasi ini:
Perintah | Tujuan | Informasi Utama |
---|---|---|
top | Monitor sistem real-time | Daftar proses, penggunaan CPU, penggunaan memori |
vmstat | Statistik memori virtual | Proses, memori, paging, I/O, aktivitas CPU |
iostat | Statistik I/O | Statistik CPU, statistik I/O perangkat |
netstat | Statistik jaringan | Koneksi jaringan, tabel routing, statistik antar muka |
sar | Reporter aktivitas sistem | Penggunaan CPU, penggunaan memori, aktivitas I/O, aktivitas jaringan |
Ingat, menjadi mahir dengan alat-alat ini seperti belajar memainkan alat musik - itu memerlukan latihan! Jangan frustasi jika itu terlihat overwhelming pada awalnya. Mulai dengan satu alat, memahami keluarannya secara menyeluruh, dan kemudian maju ke alat berikutnya.
Dalam tahun-tahun mengajar saya, saya menemukan bahwa siswa yang secara teratur mencoba alat ini pada sistem mereka sendiri mengembangkan pemahaman yang mendalam tentang prestasi sistem. Itu seperti belajar mendengar alat musik secara individual - tiba-tiba, Anda bisa menentukan tepat di mana perbaikan bisa dibuat.
Jadi, teman-teman sekolah, saya mengimbau Anda untuk menyalakan terminal dan mulai menjelajahi. Siapa tahu? Anda mungkin menjadi pengarah prestasi sistem yang besar berikutnya!
Credits: Image by storyset