Unix / Linux - Performansi Sistem

Hai teman-teman penggemar teknologi yang bersemangat! Sebagai guru ilmu komputer yang ramah di lingkungan sekitar Anda, saya sangat senang untuk mengantar Anda melalui dunia menarik performansi sistem Unix/Linux. Jangan khawatir jika Anda baru belajar pemrograman – kita akan mulai dari dasar dan naik tingkat perlahan-lahan. Jadi, ambil secangkir kopi (atau teh, jika itu hal Anda) dan mari kita masuk ke dalam!

Unix / Linux - System Performance

Komponen Performansi

Sebelum kita mulai memanipulasi sistem kita, sangat penting untuk memahami apa saja yang membentuk performansi sistem. Picturkan komputer Anda seperti sebuah orkestra yang diperlengkapi – 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 perintah dan mengkoordinasi semua komponen lainnya. Ketika kita membahas penggunaan CPU, kita merujuk kepada betapa sibuk pengarah ini.

2. Penggunaan Memory

Memory, atau RAM, seperti naskah untuk orkestra kita. Itu menyimpan data yang CPU butuh akses cepat. Jika kita kehabisan memory, performansi kita bisa berkurang secara dramatis.

3. I/O Disk

Input/Output (I/O) Disk seperti proses pemusik mengambil alat musik baru atau naskah. Itu melibatkan membaca dari atau menulis ke hard drive, yang bisa menjadi operasi lebih lamban dibandingkan mengakses RAM.

4. Performansi Network

Performansi network mirip dengan betapa baik orkestra kita bisa mendengar satu sama lain dan tetap sinkron. Itu melibatkan kecepatan dan efisiensi transfer data melalui network.

Alat Performansi

Sekarang kita mengerti komponen-komponen ini, mari kita lihat beberapa alat yang bisa kita gunakan untuk mengukur dan meningkatkan performansi sistem kita. Saya suka menganggap ini sebagai alat penyetir orkestra kita.

1. Perintah top

Perintah top seperti dashboard untuk sistem Anda. Itu menyediakan pandangan real-time tentang proses yang sedang berjalan dan sumber daya sistem.

$ top

Perintah ini akan menampilkan daftar proses yang diperbarui secara kontinyu, diurutkan berdasarkan penggunaan CPU secara default. Mari kitauraikan apa yang Anda akan lihat:

  • PID: ID Proses
  • USER: Pengguna yang memiliki proses
  • PR: Prioritas
  • NI: Nilai Nice (mengpengaruhi prioritas)
  • VIRT: Memory virtual yang digunakan
  • RES: Memory fisik yang digunakan
  • SHR: Memory bersama
  • S: Status Proses
  • %CPU: Penggunaan CPU
  • %MEM: Penggunaan Memory
  • TIME+: Waktu total CPU
  • COMMAND: Nama Perintah

2. Perintah vmstat

Perintah vmstat seperti stetoskop untuk jantung sistem Anda – itu melaporkan informasi tentang proses, memory, paging, I/O blok, penangkap, dan aktivitas CPU.

$ vmstat 2 5

Perintah ini akan menampilkan statistik sistem setiap 2 detik, selama 5 iterasi. Keluarannya termasuk:

  • r: Jumlah proses menunggu waktu berjalan
  • b: Jumlah proses dalam tidur tak terganggu
  • swpd: Jumlah memory virtual yang digunakan
  • free: Jumlah memory yang kosong
  • buff: Jumlah memory yang digunakan sebagai buffer
  • cache: Jumlah memory yang digunakan sebagai cache
  • si: Jumlah memory dipindahkan masuk dari disk
  • so: Jumlah memory dipindahkan keluar ke disk
  • bi: Blok diterima dari perangkat blok
  • bo: Blok dikirim ke perangkat blok
  • in: Jumlah interupsi per detik
  • cs: Jumlah pergantian kontek per detik
  • us: Waktu dihabiskan menjalankan kode non-kernel
  • sy: Waktu dihabiskan 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 I/O untuk perangkat dan partisi.

$ iostat -x 2 5

Perintah ini akan menampilkan statistik diperpanjang setiap 2 detik, selama 5 iterasi. Keluarannya termasuk:

  • Device: Nama Perangkat
  • rrqm/s: Request read merged per detik
  • wrqm/s: Request write merged per detik
  • r/s: Baca per detik
  • w/s: Tulis per detik
  • rkB/s: Kilobyte baca per detik
  • wkB/s: Kilobyte tulis per detik
  • avgrq-sz: Ukuran rata-rata permintaan dalam sektor
  • avgqu-sz: Panjang rata-rata antrian
  • await: Waktu rata-rata untuk permintaan I/O
  • svctm: Waktu rata-rata pelayanan
  • %util: Persentase waktu CPU saat permintaan I/O dikeluarkan

4. Perintah netstat

Perintah netstat seperti pengontrol lalu lintas untuk network Anda. Itu menampilkan koneksi network, tabel routing, statistik antar muka, koneksi penipuan, dan keanggotaan multicast.

$ netstat -tuln

Perintah ini akan menampilkan:

  • Koneksi Internet aktif (TCP dan UDP)
  • Soket pendengar -Alamat numerik dan nomor port

Keluarannya termasuk:

  • Proto: Protokol (TCP atau UDP)
  • Recv-Q: Data diantrian untuk diterima
  • Send-Q: Data diantrian untuk dikirim
  • Alamat Lokal: Ujung lokal socket
  • Alamat Asing: Ujung jarak jauh socket
  • State: Status socket

5. Perintah sar

Perintah sar (System Activity Reporter) seperti rekorder 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. Keluarannya 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 yang 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 prosesor virtual lain
  • %idle: Persentase waktu CPU yang idle dan sistem tidak memiliki permintaan I/O yang belum terselesaikan

Berikut adalah tabel yang menggabungkan alat performansi ini:

Perintah Tujuan Informasi Utama
top Monitor sistem real-time Daftar proses, penggunaan CPU, penggunaan memory
vmstat Statistik memory virtual Proses, memory, paging, I/O, aktivitas CPU
iostat Statistik I/O Statistik CPU, statistik I/O perangkat
netstat Statistik network Koneksi network, tabel routing, statistik antar muka
sar Reporter aktivitas sistem Penggunaan CPU, penggunaan memory, aktivitas I/O, aktivitas network

Ingat, menjadi ahli dengan alat ini seperti belajar memainkan instrumen – itu memerlukan latihan! Jangan frustasi jika itu terlihat menakutkan pada awalnya. Mulai dengan satu alat, memahami keluarannya secara mendalam, dan kemudian pindah ke alat berikutnya.

Dalam tahun-tahun pengajaran saya, saya menemukan bahwa siswa yang secara teratur mencoba alat ini pada sistem mereka sendiri mengembangkan pemahaman yang lebih mendalam tentang performansi sistem. Itu seperti belajar mendengar instrumen individual dalam orkestra – tiba-tiba, Anda bisa menentukan tepat di mana peningkatan bisa dilakukan.

Jadi, teman-teman saya, saya mengimbau Anda untuk menyalakan terminal dan mulai menjelajahi. Siapa tahu? Anda mungkin menjadi pengarah performansi sistem yang besar berikutnya!

Credits: Image by storyset