VMSTAT - Memantau memori & proses di Linux dengan contoh

VMSTAT - Memantau memori & proses di Linux dengan contoh

Di dunia administrasi sistem Linux, memantau dan memahami kinerja sistem Anda sangat penting untuk memastikan operasinya yang lancar. Salah satu alat pemantauan penting seperti itu 'vmstat' - utilitas baris perintah serbaguna yang memberikan statistik wawasan tentang memori, proses, IO, dan penggunaan CPU sistem Linux.

Dalam artikel ini, kami akan mempelajari penggunaan dan berbagai pilihan perintah VMSTAT, mengeksplorasi contoh -contoh praktis, dan belajar bagaimana menafsirkan output untuk mendiagnosis masalah kinerja potensial.

Apa itu vmstat?

Statistik Memori Virtual (VMSTAT) adalah utilitas UNIX/LINUX yang mengumpulkan dan menampilkan informasi tentang memori sistem, CPU, proses, dan operasi IO sistem. Ini adalah alat yang kuat dan mudah digunakan untuk memahami bagaimana sistem Anda memanfaatkan sumber dayanya, mengidentifikasi hambatan, dan mendiagnosis masalah kinerja.

Instalasi

vmstat hadir di sebagian besar distribusi linux. Namun, jika belum diinstal, Anda dapat dengan mudah mendapatkannya dengan memasang paket 'Sysstat':

  • Untuk sistem berbasis Debian/Ubuntu:
    sudo apt-get install sysstat  
  • Untuk sistem berbasis RHEL/CentOS/Fedora:
    sudo yum menginstal sysstat  

Penggunaan dasar

Sintaks dasar dari perintah vmstat adalah sebagai berikut:

vmstat [opsi] [tunda] [hitung]
1vmstat [opsi] [tunda] [hitung]
  • pilihan: Bendera yang memodifikasi perilaku perintah atau menentukan jenis informasi yang akan ditampilkan.
  • menunda: Interval waktu (dalam detik) antara pembaruan. Defaultnya adalah 1 detik.
  • menghitung: Jumlah pembaruan yang akan ditampilkan sebelum keluar. Secara default, VMSTAT akan terus berjalan tanpa batas waktu.

Untuk menampilkan statistik sistem dasar, cukup jalankan perintah tanpa opsi:

vmstat  

Memahami output vmstat

Output dari perintah vmstat ditampilkan dalam format tabel, dengan setiap baris mewakili snapshot dari keadaan sistem pada waktu tertentu.

Kolom dalam output adalah:

  1. Procs
    • R: Jumlah proses runnable (berjalan atau menunggu waktu berjalan).
    • B: Jumlah proses dalam keadaan tidur yang tidak terputus.
  2. Penyimpanan
    • swpd: Jumlah memori virtual yang digunakan (dalam KB).
    • bebas: Jumlah memori idle (dalam KB).
    • penggemar: Jumlah memori yang digunakan sebagai buffer (dalam KB).
    • cache: Jumlah memori yang digunakan sebagai cache (dalam KB).
  3. Menukar
    • si: Jumlah memori yang ditukar dari disk (dalam kb/s).
    • Jadi: Jumlah memori yang ditukar ke disk (dalam kb/s).
  4. Io
    • dua: Jumlah blok yang diterima dari perangkat blok (blok/s).
    • bo: Jumlah blok yang dikirim ke perangkat blok (blok/s).
  5. Sistem
    • di dalam: Jumlah interupsi per detik, termasuk jam.
    • CS: Jumlah sakelar konteks per detik.
  6. CPU
    • kita: Persentase waktu yang dihabiskan untuk menjalankan kode non-kernel (waktu pengguna).
    • sy: Persentase waktu yang dihabiskan menjalankan kode kernel (waktu sistem).
    • pengenal: Persentase waktu yang dihabiskan dengan idle.
    • wa: Persentase waktu yang dihabiskan untuk menunggu io.

Contoh praktis

  • Tampilkan pembaruan berkelanjutan setiap 2 detik:
    vmstat 2  
  • Statistik Sistem Monitor Setiap 2 detik untuk total 5 pembaruan:
    vmstat 2 5  
  • Hanya menampilkan informasi terkait CPU:
    vmstat -c  
  • Menampilkan memori aktif dan tidak aktif:
    vmstat -a  

    Perintah ini melaporkan memori aktif dan tidak aktif dalam sistem, memberikan lebih banyak wawasan tentang pola penggunaan memori.

  • Tampilkan cap waktu:
    vmstat -t  

    Perintah ini menambahkan cap waktu ke setiap baris output, membuatnya lebih mudah untuk melacak perubahan dari waktu ke waktu.

  • Hanya menampilkan bidang spesifik:
    vmstat -s 

    Perintah ini menampilkan laporan lapangan-demi-lapangan yang lebih rinci tentang penggunaan memori virtual sistem.

  • Statistik tampilan disk:
    vmstat -D 

    Perintah ini menunjukkan statistik aktivitas disk, seperti pembacaan, menulis, dan operasi I/O.

  • Output tampilan di unit tertentu:
    unit vmstat -s 

    Ganti 'unit' dengan unit pengukuran yang diinginkan (k: kilobytes, k: 1000 byte, m: megabytes, m: 1000000 byte). Misalnya, VMSTAT -S m akan menampilkan output di megabytes.

Menafsirkan output vmstat

Dengan menganalisis output VMSTAT, Anda dapat mengidentifikasi kemacetan sistem potensial dan masalah kinerja. Berikut adalah beberapa pedoman untuk membantu Anda menafsirkan hasilnya:

  • Proses Runnable Tinggi (kolom Procs 'R'): Jika jumlah proses runnable secara konsisten tinggi, itu mungkin menunjukkan bahwa sistem Anda mengalami beban CPU yang tinggi, dan Anda mungkin perlu mengoptimalkan aplikasi Anda atau meningkatkan CPU Anda.
  • Proses tidur yang tinggi tidak terputus (kolom Procs 'B'): Sejumlah besar proses tidur yang tidak terputus dapat menunjukkan bahwa sistem Anda mengalami kemacetan IO, yang dapat disebabkan oleh akses disk yang lambat atau memori yang tidak mencukupi.
  • Penggunaan memori (kolom memori: SWPD, gratis, buff, cache): Pantau penggunaan memori untuk memastikan bahwa sistem Anda memiliki memori gratis yang cukup. Jika 'swpd' Nilai secara konsisten tinggi, dapat menunjukkan bahwa sistem Anda menggunakan terlalu banyak ruang swap, yang dapat secara signifikan menurunkan kinerja. Pertimbangkan mengoptimalkan aplikasi Anda atau menambahkan lebih banyak memori fisik.
  • Aktivitas swap (kolom swap: si, jadi): Pertukaran yang sering dapat menyebabkan kinerja yang buruk. Jika nilai 'si' dan 'jadi' tinggi secara konsisten, itu mungkin menunjukkan bahwa sistem Anda menggunakan terlalu banyak ruang swap. Anda mungkin perlu mengoptimalkan aplikasi Anda atau menambahkan lebih banyak memori fisik.
  • Aktivitas IO (kolom IO: BI, BO): Aktivitas IO yang tinggi dapat menyebabkan kemacetan kinerja. Jika 'dua' Dan 'bo' Nilai secara konsisten tinggi, mungkin menunjukkan bahwa sistem Anda mengalami aktivitas disk yang berat. Pertimbangkan mengoptimalkan aplikasi Anda, meningkatkan sistem penyimpanan Anda, atau mendistribusikan beban di beberapa disk.
  • Penggunaan CPU (kolom CPU: US, SY, ID, WA): Pantau penggunaan CPU untuk memastikan bahwa sistem Anda tidak terbebani. Tinggi 'kita' Dan 'sy' Nilai menunjukkan bahwa CPU menghabiskan banyak waktu untuk melaksanakan proses pengguna dan sistem. Jika nilai -nilai ini tinggi secara konsisten, pertimbangkan untuk mengoptimalkan aplikasi Anda atau meningkatkan CPU Anda. Nilai 'wa' tinggi menunjukkan bahwa CPU menghabiskan banyak waktu menunggu IO, yang bisa menjadi tanda bottleneck IO.

Kesimpulan

VMSTAT adalah alat pemantauan yang kuat dan serbaguna untuk sistem Linux, memberikan wawasan yang berharga tentang memori, proses, IO, dan penggunaan CPU. Dengan memahami output VMSTAT dan menggunakannya untuk mendiagnosis masalah kinerja potensial, Anda dapat mengoptimalkan sistem Anda dan memastikan bahwa itu berjalan dengan lancar dan efisien.