VMSTAT - Memori memori & proses di Linux dengan contoh

VMSTAT - Memori memori & proses di Linux dengan contoh

Di dunia pentadbiran sistem linux, pemantauan dan pemahaman prestasi sistem anda adalah penting untuk memastikan operasi lancarnya. Satu alat pemantauan penting seperti itu adalah 'vmstat' - Utiliti baris perintah yang serba boleh yang memberikan statistik berwawasan mengenai memori, proses, IO, dan penggunaan CPU sistem Linux.

Dalam artikel ini, kami akan menyelidiki penggunaan dan pelbagai pilihan perintah vmstat, meneroka contoh praktikal, dan belajar bagaimana mentafsir output untuk mendiagnosis isu prestasi yang berpotensi.

Apa itu vmstat?

Statistik Memori Maya (VMSTAT) adalah utiliti Unix/Linux yang mengumpul dan memaparkan maklumat mengenai memori sistem, CPU, proses, dan operasi IO. Ini adalah alat yang kuat dan mudah digunakan untuk memahami bagaimana sistem anda menggunakan sumbernya, mengenal pasti kesesakan, dan mendiagnosis masalah prestasi.

Pemasangan

VMStat datang sebelum dipasang pada kebanyakan pengagihan Linux. Walau bagaimanapun, jika ia belum dipasang, anda boleh dengan mudah mendapatkannya dengan memasang pakej 'sysstat':

  • Untuk sistem berasaskan Debian/Ubuntu:
    sudo apt-get memasang sysstat  
  • Untuk sistem RHEL/CentOS/Fedora:
    sudo yum memasang sysstat  

Penggunaan asas

Sintaks asas perintah vmstat adalah seperti berikut:

vmstat [opsyen] [kelewatan] [Count]
1vmstat [opsyen] [kelewatan] [Count]
  • Pilihan: Bendera yang mengubah tingkah laku arahan atau menentukan jenis maklumat yang dipaparkan.
  • Kelewatan: Selang waktu (dalam saat) antara kemas kini. Lalai adalah 1 saat.
  • Kira: Bilangan kemas kini yang hendak dipaparkan sebelum keluar. Secara lalai, vmstat akan terus berjalan selama -lamanya.

Untuk memaparkan statistik sistem asas, hanya jalankan arahan tanpa sebarang pilihan:

vmstat  

Memahami output vmstat

Output perintah vmstat dipaparkan dalam format tabular, dengan setiap baris yang mewakili gambar keadaan sistem pada masa tertentu.

Lajur dalam output adalah:

  1. Procs
    • r: Bilangan proses yang boleh dijalankan (berjalan atau menunggu masa larian).
    • b: Bilangan proses dalam keadaan tidur yang tidak terganggu.
  2. Ingatan
    • SWPD: Jumlah memori maya yang digunakan (dalam kb).
    • percuma: Jumlah memori terbiar (dalam kb).
    • Buff: Jumlah memori yang digunakan sebagai buffer (dalam kb).
    • cache: Jumlah memori yang digunakan sebagai cache (dalam kb).
  3. Bertukar
    • SI: Jumlah memori bertukar dari cakera (dalam kb/s).
    • Jadi: Jumlah memori bertukar ke cakera (dalam kb/s).
  4. Io
    • bi: Bilangan blok yang diterima dari peranti blok (blok/s).
    • bo: Bilangan blok yang dihantar ke peranti blok (blok/s).
  5. Sistem
    • dalam: Bilangan gangguan sesaat, termasuk jam.
    • cs: Bilangan suis konteks sesaat.
  6. CPU
    • kita: Peratusan masa yang dihabiskan untuk menjalankan kod bukan kernel (masa pengguna).
    • sy: Peratusan masa yang dihabiskan untuk menjalankan kod kernel (masa sistem).
    • ID: Peratusan masa yang dibelanjakan.
    • WA: Peratusan masa yang dihabiskan menunggu io.

Contoh praktikal

  • Paparkan kemas kini berterusan setiap 2 saat:
    Vmstat 2  
  • Memantau statistik sistem setiap 2 saat untuk sejumlah 5 kemas kini:
    Vmstat 2 5  
  • Paparkan hanya maklumat yang berkaitan dengan CPU:
    vmstat -c  
  • Paparkan memori aktif dan tidak aktif:
    vmstat -a  

    Perintah ini melaporkan memori aktif dan tidak aktif dalam sistem, memberikan lebih banyak pandangan mengenai corak penggunaan memori.

  • Paparkan cap waktu:
    vmstat -t  

    Perintah ini menambah cap waktu ke setiap baris output, menjadikannya lebih mudah untuk menjejaki perubahan dari masa ke masa.

  • Paparkan hanya medan tertentu:
    vmstat -s 

    Perintah ini memaparkan laporan yang lebih terperinci, medan demi bidang mengenai penggunaan memori maya sistem.

  • Paparkan statistik cakera:
    vmstat -d 

    Perintah ini menunjukkan statistik aktiviti cakera, seperti membaca, menulis, dan operasi I/O.

  • Paparkan output dalam unit tertentu:
    Unit Vmstat -s 

    Gantikan 'Unit' dengan unit pengukuran yang dikehendaki (K: Kilobytes, K: 1000 bait, M: Megabytes, M: 1000000 bytes). Sebagai contoh, vmstat -s m akan memaparkan output dalam megabait.

Mentafsirkan output vmstat

Dengan menganalisis output VMStat, anda boleh mengenal pasti masalah yang berpotensi dan masalah prestasi. Berikut adalah beberapa garis panduan untuk membantu anda mentafsirkan hasilnya:

  • Proses Runnable Tinggi (lajur Procs 'R'): Jika bilangan proses runnable secara konsisten tinggi, mungkin menunjukkan bahawa sistem anda mengalami beban CPU yang tinggi, dan anda mungkin perlu mengoptimumkan aplikasi anda atau menaik taraf CPU anda.
  • Proses tidur yang tidak terganggu yang tinggi (lajur Procs 'B'): Sebilangan besar proses dalam tidur yang tidak terganggu mungkin menunjukkan bahawa sistem anda mengalami kesesakan IO, yang boleh disebabkan oleh akses cakera lambat atau memori yang tidak mencukupi.
  • Penggunaan Memori (Lajur Memori: SWPD, Percuma, Buff, Cache): Pantau penggunaan memori untuk memastikan sistem anda mempunyai memori percuma yang mencukupi. Jika 'SWPD' Nilai secara konsisten tinggi, mungkin menunjukkan bahawa sistem anda menggunakan ruang swap terlalu banyak, yang dapat merendahkan prestasi dengan ketara. Pertimbangkan untuk mengoptimumkan aplikasi anda atau menambahkan lebih banyak memori fizikal.
  • Aktiviti Swap (Swap Columns: Si, SO): Pertukaran yang kerap boleh menyebabkan prestasi buruk. Sekiranya nilai 'Si' dan 'So' secara konsisten tinggi, mungkin menunjukkan bahawa sistem anda menggunakan ruang swap terlalu banyak. Anda mungkin perlu mengoptimumkan aplikasi anda atau menambah memori fizikal.
  • Aktiviti IO (lajur io: bi, bo): Aktiviti IO yang tinggi boleh menyebabkan kemunculan prestasi. Jika 'bi' dan 'Bo' Nilai secara konsisten tinggi, mungkin menunjukkan bahawa sistem anda mengalami aktiviti cakera berat. Pertimbangkan mengoptimumkan aplikasi anda, menaik taraf sistem storan anda, atau mengedarkan beban di beberapa cakera.
  • Penggunaan CPU (Lajur CPU: AS, SY, ID, WA): Pantau penggunaan CPU untuk memastikan sistem anda tidak dibebani. Tinggi 'Kami' dan 'Sy' Nilai menunjukkan bahawa CPU menghabiskan sejumlah besar masa melaksanakan proses pengguna dan sistem. Sekiranya nilai -nilai ini secara konsisten tinggi, pertimbangkan untuk mengoptimumkan aplikasi anda atau menaik taraf CPU anda. Nilai tinggi 'wa' menunjukkan bahawa CPU menghabiskan banyak masa menunggu IO, yang boleh menjadi tanda macam -macar io.

Kesimpulan

VMStat adalah alat pemantauan yang kuat dan serba boleh untuk sistem Linux, memberikan pandangan berharga ke dalam ingatan, proses, IO, dan penggunaan CPU. Dengan memahami output vmstat dan menggunakannya untuk mendiagnosis isu prestasi yang berpotensi, anda dapat mengoptimumkan sistem anda dan memastikan ia berjalan lancar dan cekap.