vmstat (statistik memori virtual) perintah memungkinkan Anda untuk memantau penggunaan memori sistem Anda. Ini menunjukkan berapa banyak memori virtual yang ada, dan berapa banyak aktivitas bebas dan paging. Anda dapat mengamati masuk dan keluar halaman saat terjadi. Ini sangat berguna untuk mendeteksi kekurangan memori fisik, yang dapat berdampak buruk pada kinerja sistem.
Menjalankan vmstat tanpa argumen
Sebelum memulai, penting untuk dicatat bahwa baris pertama keluaran dari vmstat (dan satu-satunya yang diberikan jika dijalankan tanpa argumen) adalah ringkasan sejak waktu boot sistem. Biasanya tidak terlalu berguna untuk masalah kinerja, terutama jika sistem sudah lama digunakan. Namun, mungkin masih berisi informasi bermanfaat tentang peristiwa yang terjadi di masa lalu, tetapi tidak terjadi saat ini.
# vmstat procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 3 0 387560 62140 44 348320 1 2 94 20 90 15 1 1 98 0 0
Cara membaca keluaran vmstat
Output vmstat berisi lebih dari sekedar statistik memori. Seperti halnya iostat dan mpstat, vmstat menerima argumen interval dan count. Contoh berikut menjalankan 3 laporan dengan jarak 5 detik:
# vmstat 5 3 procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 3 0 384120 68604 8088 327332 1 2 90 20 90 14 1 1 98 0 0 1 0 384120 68604 8088 327364 0 0 0 0 91 179 1 0 99 0 0 0 0 384120 68232 8088 327364 0 0 0 0 107 190 1 1 98 0 0
Output dipecah menjadi enam bagian:
1. proses
2. memori
3. bertukar
4. io
5. sistem
6. cpu
proses
Dua kolom pertama memberikan informasi tentang proses:
memori
Empat kolom berikutnya memberikan informasi tentang memori:
tukar
Dua kolom berikutnya memberikan informasi tentang swap:
Bukan nol si dan begitu angka menunjukkan bahwa tidak ada cukup memori fisik dan kernel menukar memori ke disk.
io
Dua kolom pertama memberikan informasi tentang I/O (input-output):
sistem
Dua kolom berikutnya memberikan informasi sistem berikut:
cpu
Lima kolom terakhir memberikan persentase total waktu CPU:
Opsi baris perintah
Informasi tambahan dapat dimasukkan dengan memberikan opsi yang berbeda pada perintah vmstat. Beberapa opsi baris perintah terdaftar:
-a | Menampilkan memori aktif dan tidak aktif. |
-f | Menampilkan jumlah garpu sejak boot. |
-t | Tambahkan cap waktu ke output. |
-d | Laporkan statistik disk. |
Kemacetan CPU
Ada dua area penting dari output vmstat yang berkaitan dengan kinerja CPU. Yang pertama adalah r kolom. Ini adalah kolom pertama dalam output. Ini berisi nilai yang sesuai dengan jumlah utas yang ada di antrian run selama interval terakhir di mana vmstat dijalankan. Utas ini menunggu CPU tersedia untuk dijalankan. Ada beberapa aliran pemikiran tentang jumlah maksimum yang sesuai di sini, tetapi kebanyakan orang setuju bahwa lebih dari 2 hingga 5 kali jumlah CPU pada sistem menunjukkan hambatan (Perkiraan ini perlu disesuaikan untuk CPU multi-core).
Tempat kedua untuk mencari data terkait CPU ada di kolom sebelah kanan output. Ada tiga kolom:waktu us (pengguna), waktu sy (sistem), dan waktu id (idle). Ketiganya memecah penggunaan waktu CPU dalam persentase. Mereka harus menambahkan hingga 100%. Idealnya, CPU akan menghabiskan sebagian besar waktunya di kategori us dan id. Kategori sy mengacu pada waktu yang dihabiskan CPU untuk melakukan pekerjaan tingkat driver/kernel. Kali ini diambil dari aplikasi pengguna. Jika CPU menghabiskan sebagian besar waktunya dalam kategori ini, ini dapat menunjukkan peralihan konteks yang berlebihan karena CPU atau memori yang macet, masalah dengan penguncian tingkat kernel, atau masalah lainnya. Sistem yang sibuk akan menunjukkan persentase idle konstan mendekati nol. Tetapi sistem yang sibuk tidak selalu berarti bahwa sistem tersebut kelebihan beban.
Kinerja Disk / IO
Utilitas vmstat tidak dapat memberi tahu kami disk mana yang memiliki hambatan, tetapi dapat memberi tahu kami jika ada masalah IO secara keseluruhan. Kolom penting dalam output adalah kolom b (diblokir). Ini mengacu pada jumlah utas yang diblokir, atau sedang menunggu penyelesaian IO dalam interval yang lalu. Kolom b harus 0 sebagian besar waktu. Jika ada angka bukan nol di kolom itu terus-menerus, Anda dapat menyelidiki lebih lanjut dengan iostat.
Kemacetan Memori
Menganalisis masalah terkait memori harus dimulai dengan memeriksa jumlah memori kosong di output vmstat, yang ada di kolom ke-4. Jika memori bebas rendah, kita perlu menyelidiki lebih lanjut proses mana yang menghabiskan lebih banyak memori.
Kesimpulan
Perintah vmstat dapat menjadi alat yang berguna untuk mengatasi masalah kinerja. Ini dapat memberi tahu Anda subsistem mana yang harus diperiksa lebih dekat untuk mendiagnosis masalah lebih lanjut.
Menggunakan iostat untuk memantau kinerja sistem di Linux (Contoh disertakan)