GNU/Linux >> Belajar Linux >  >> Linux

Memantau host Linux dan Windows dengan Glances

Sysadmin memiliki banyak alat untuk melihat dan mengelola proses yang berjalan. Bagi saya, ini biasanya top , di atas , dan htop . Beberapa tahun yang lalu, saya menemukan Glances, alat yang menampilkan informasi yang tidak dapat dilakukan oleh favorit saya yang lain. Semua alat ini memantau penggunaan CPU dan memori, dan sebagian besar berisi informasi tentang proses yang sedang berjalan (paling tidak). Namun, Glances juga memantau I/O sistem file, I/O jaringan, dan pembacaan sensor yang dapat menampilkan CPU dan suhu perangkat keras lainnya serta kecepatan kipas dan penggunaan disk menurut perangkat keras dan volume logis.

Sekilas

Saya menyebutkan Glance dalam artikel saya 4 alat sumber terbuka untuk pemantauan sistem Linux , tapi saya akan mengupasnya lebih dalam di artikel ini. Jika Anda membaca artikel saya sebelumnya, beberapa informasi ini mungkin sudah familiar, tetapi Anda juga harus menemukan beberapa hal baru di sini.

Glances bersifat lintas platform karena ditulis dengan Python. Itu dapat diinstal pada Windows dan host lain dengan versi Python saat ini diinstal. Sebagian besar distribusi Linux (Fedora dalam kasus saya) memiliki Glance di repositori mereka. Jika tidak, atau jika Anda menggunakan sistem operasi yang berbeda (seperti Windows), atau Anda hanya ingin memperbaikinya dari sumbernya, Anda dapat menemukan petunjuk untuk mengunduh dan menginstalnya di repo GitHub Glances.

Saya sarankan menjalankan Glances pada mesin uji saat Anda mencoba perintah di artikel ini. Jika Anda tidak memiliki host fisik yang tersedia untuk pengujian, Anda dapat menjelajahi Glances pada mesin virtual (VM), tetapi Anda tidak akan melihat bagian sensor perangkat keras; lagi pula, VM tidak memiliki perangkat keras yang sebenarnya.

Untuk memulai Glances di host Linux, buka sesi terminal dan masukkan perintah glances .

Glances memiliki tiga bagian utama—Ringkasan, Proses, dan Peringatan—serta bilah sisi. Saya akan menjelajahinya dan detail lainnya untuk menggunakan Glance sekarang.

Ringkasan bagian

Di beberapa baris teratasnya, bagian Ringkasan Glances berisi banyak informasi yang sama seperti yang akan Anda temukan di bagian ringkasan monitor lain. Jika Anda memiliki cukup ruang horizontal di terminal Anda, Glances dapat menunjukkan penggunaan CPU dengan grafik batang dan indikator numerik; jika tidak, hanya akan ditampilkan nomornya.

Saya menyukai bagian Ringkasan Glances lebih baik daripada yang ada di monitor lain (seperti atas ); Saya pikir ini memberikan informasi yang tepat dalam format yang mudah dimengerti.

Bagian Ringkasan di atas memberikan gambaran umum tentang status sistem. Baris pertama menunjukkan nama host, distribusi Linux, versi kernel, dan waktu aktif sistem.

Empat baris berikutnya menampilkan CPU, penggunaan memori, swap, dan statistik beban. Kolom kiri menampilkan persentase CPU, memori, dan ruang swap yang sedang digunakan. Ini juga menunjukkan statistik gabungan untuk semua CPU yang ada di sistem.

Tekan tombol 1 tombol untuk beralih antara tampilan penggunaan CPU gabungan dan tampilan masing-masing CPU. Gambar berikut menunjukkan tampilan Glances dengan statistik CPU individual.

Tampilan ini mencakup beberapa statistik CPU tambahan. Dalam salah satu mode tampilan, deskripsi bidang penggunaan CPU dapat membantu Anda menafsirkan data yang ditampilkan di bagian CPU. Perhatikan bahwa CPU diberi nomor mulai dari 0 (Nol).

CPU Ini adalah penggunaan CPU saat ini sebagai persentase dari total yang tersedia.
pengguna Ini adalah aplikasi dan program lain yang berjalan di ruang pengguna, bukan di kernel.
sistem Ini adalah fungsi tingkat kernel. Ini tidak termasuk waktu CPU yang diambil oleh kernel itu sendiri, hanya panggilan sistem kernel.
menganggur Ini adalah waktu idle, yaitu waktu yang tidak digunakan oleh proses yang sedang berjalan.
bagus Ini adalah waktu yang digunakan oleh proses yang berjalan pada tingkat yang positif dan menyenangkan.
irq Ini adalah permintaan interupsi yang memakan waktu CPU.
tunggu dulu Ini adalah siklus CPU yang dihabiskan untuk menunggu I/O terjadi—ini adalah pemborosan waktu CPU.
mencuri Persentase siklus CPU yang menunggu CPU virtual untuk CPU nyata saat hypervisor melayani prosesor virtual lain.
ctx-sw Ini adalah jumlah sakelar konteks per detik; ini menunjukkan berapa kali per detik CPU beralih dari menjalankan satu proses ke proses lainnya.
antar Ini adalah jumlah interupsi perangkat keras per detik. Interupsi perangkat keras terjadi saat perangkat keras, seperti hard drive, memberi tahu CPU bahwa ia telah menyelesaikan transfer data atau bahwa kartu antarmuka jaringan siap menerima lebih banyak data.
sw_int Interupsi perangkat lunak memberi tahu CPU bahwa beberapa tugas yang diminta telah selesai atau perangkat lunak siap untuk sesuatu. Ini cenderung lebih umum di perangkat lunak tingkat kernel.

Tentang angka yang bagus

Angka bagus adalah mekanisme yang digunakan oleh administrator untuk mempengaruhi prioritas suatu proses. Tidak mungkin untuk mengubah prioritas proses secara langsung, tetapi mengubah angka yang bagus dapat mengubah hasil dari algoritma pengaturan prioritas penjadwal kernel. Angka bagus berkisar dari -20 hingga +19 di mana angka yang lebih tinggi lebih bagus. Angka bagus default adalah 0 dan prioritas default adalah 20. Menyetel angka bagus lebih tinggi dari nol sedikit meningkatkan angka prioritas, sehingga membuat proses lebih bagus dan karena itu mengurangi siklus CPU. Menyetel angka bagus ke angka yang lebih negatif menghasilkan angka prioritas yang lebih rendah membuat prosesnya kurang bagus. Angka bagus dapat diubah menggunakan perintah renice atau dari dalam top, atop, dan htop.

Memori

Bagian Memori dari bagian Ringkasan berisi statistik tentang penggunaan memori.

MEM Ini menunjukkan penggunaan memori sebagai persentase dari jumlah total yang tersedia.
total Ini adalah jumlah total memori RAM yang terpasang di host, dikurangi jumlah yang ditetapkan ke adaptor tampilan.
bekas Ini adalah jumlah total memori yang digunakan oleh sistem dan program aplikasi tetapi tidak termasuk cache atau buffer.
gratis Ini adalah jumlah memori bebas.
aktif Ini adalah jumlah memori yang digunakan secara aktif—memori tidak aktif dapat ditukar ke disk jika diperlukan.
tidak aktif Ini adalah memori yang sedang digunakan tetapi sudah lama tidak diakses.
buffer Ini adalah memori yang digunakan untuk ruang buffer; biasanya digunakan oleh komunikasi dan I/O seperti jaringan. Data diterima dan disimpan hingga perangkat lunak dapat mengambilnya untuk digunakan atau dapat dikirim ke perangkat penyimpanan atau dikirim ke jaringan.
di-cache Ini adalah memori yang digunakan untuk menyimpan data untuk transfer disk hingga dapat digunakan oleh program atau disimpan ke disk.

Bagian Swap cukup jelas jika Anda memahami sedikit tentang ruang swap dan cara kerjanya. Ini menunjukkan berapa banyak ruang swap total yang tersedia, berapa banyak yang digunakan, dan berapa banyak yang tersisa.

Bagian Muat dari bagian Ringkasan menampilkan rata-rata pemuatan satu, lima, dan 15 menit.

Anda dapat menggunakan tombol angka 1 , 3 , 4 , dan 5 untuk mengubah pandangan Anda tentang data di bagian ini. 2 tombol mengaktifkan dan menonaktifkan bilah sisi kiri.

Selengkapnya tentang rata-rata pemuatan

Rata-rata beban biasanya disalahpahami, meskipun merupakan kriteria utama untuk mengukur penggunaan CPU. Tetapi apa artinya sebenarnya ketika saya mengatakan bahwa rata-rata pemuatan satu (atau lima atau 10-) menit adalah 4,04, misalnya? Rata-rata beban dapat dianggap sebagai ukuran permintaan untuk CPU; ini adalah angka yang mewakili jumlah rata-rata instruksi yang menunggu waktu CPU, jadi ini adalah ukuran kinerja CPU yang sebenarnya.

Selengkapnya tentang sysadmin

  • Aktifkan blog Sysadmin
  • Perusahaan Otomatis:panduan untuk mengelola TI dengan otomatisasi
  • eBook:Kemungkinan Otomatisasi untuk SysAdmins
  • Kisah dari lapangan:Panduan administrator sistem untuk otomatisasi TI
  • eBook:Panduan Kubernetes untuk SRE dan sysadmin
  • Artikel sysadmin terbaru

Misalnya, CPU sistem prosesor tunggal yang digunakan sepenuhnya akan memiliki rata-rata beban 1. Ini berarti bahwa CPU memenuhi permintaan secara tepat; dengan kata lain, ia memiliki pemanfaatan yang sempurna. Rata-rata beban kurang dari 1 berarti CPU kurang dimanfaatkan, dan rata-rata beban lebih besar dari 1 berarti CPU terlalu banyak digunakan dan ada permintaan yang terpendam dan tidak terpuaskan. Misalnya, rata-rata beban 1,5 dalam sistem CPU tunggal menunjukkan bahwa sepertiga dari instruksi CPU harus menunggu untuk dieksekusi sampai yang sebelumnya selesai.

Ini juga berlaku untuk beberapa prosesor. Jika sistem empat-CPU memiliki rata-rata beban 4, maka ia memiliki pemanfaatan yang sempurna. Jika memiliki rata-rata beban 3,24, misalnya, maka tiga prosesornya digunakan sepenuhnya, dan satu digunakan sekitar 24%. Pada contoh di atas, sistem empat CPU memiliki rata-rata beban satu menit 4,04, yang berarti tidak ada kapasitas yang tersisa di antara empat CPU, dan beberapa instruksi terpaksa menunggu. Sistem empat-CPU yang digunakan dengan sempurna akan menunjukkan rata-rata beban 4,00, yang berarti bahwa sistem terisi penuh tetapi tidak kelebihan beban.

Kondisi rata-rata beban yang optimal adalah agar rata-rata beban sama dengan jumlah total CPU dalam suatu sistem. Itu berarti bahwa setiap CPU digunakan sepenuhnya, dan tidak ada instruksi yang harus dipaksa untuk menunggu. Tapi kenyataannya berantakan, dan kondisi optimal jarang terpenuhi. Jika host berjalan pada pemanfaatan 100%, ini tidak akan memungkinkan lonjakan persyaratan beban CPU.

Rata-rata beban jangka panjang menunjukkan tren pemanfaatan secara keseluruhan.

Jurnal Linux menerbitkan artikel yang sangat bagus tentang rata-rata beban, teori, matematika di baliknya, dan bagaimana menafsirkannya, dalam edisi 1 Desember 2006, edisinya. Sayangnya, Jurnal Linux telah berhenti diterbitkan, dan arsipnya tidak lagi tersedia secara langsung, jadi tautannya adalah ke arsip pihak ketiga.

Menemukan CPU hog

Salah satu alasan menggunakan alat seperti Glances adalah untuk menemukan proses yang menghabiskan terlalu banyak waktu CPU. Buka sesi terminal baru (berbeda dari sesi yang menjalankan Glances), lalu masuk dan mulai program Bash yang memonopoli CPU berikut.

X=0;while [ 1 ];do echo $X;X=$((X+1));done

Program ini adalah CPU babi dan akan menggunakan setiap siklus CPU yang tersedia. Biarkan berjalan saat Anda menyelesaikan artikel ini dan bereksperimen dengan Glances. Ini akan memberi Anda gambaran tentang seperti apa program yang memonopoli siklus CPU. Pastikan untuk mengamati efek pada rata-rata beban dari waktu ke waktu, serta waktu kumulatif dalam TIME+ kolom untuk proses ini.

Bagian proses

Bagian Proses menampilkan informasi standar tentang setiap proses yang sedang berjalan. Tergantung pada mode tampilan dan ukuran layar terminal, kolom informasi yang berbeda akan ditampilkan untuk proses yang sedang berjalan. Mode default dengan terminal yang cukup lebar menampilkan kolom yang tercantum di bawah ini. Kolom yang ditampilkan berubah secara otomatis jika layar terminal diubah ukurannya. Kolom berikut biasanya ditampilkan untuk setiap proses dari kiri ke kanan.

CPU% Ini adalah jumlah waktu CPU sebagai persentase dari satu inti. Misalnya, 98% mewakili 98% dari siklus CPU yang tersedia untuk satu inti. Beberapa proses dapat menunjukkan penggunaan CPU hingga 100%.
MEM% Ini adalah jumlah memori RAM yang digunakan oleh proses sebagai persentase dari total memori virtual di host.
VIRT Ini adalah jumlah memori virtual yang digunakan oleh proses dalam format yang dapat dibaca manusia, seperti 12M untuk 12 megabita.
RES Ini mengacu pada jumlah memori fisik (penduduk) yang digunakan oleh proses. Sekali lagi, ini dalam format yang dapat dibaca manusia, dengan indikator K , L , atau G , untuk menentukan kilobyte, megabyte, atau gigabyte.
PID Setiap proses memiliki nomor identifikasi, yang disebut PID. Nomor ini dapat digunakan dalam perintah, seperti renice dan bunuh , untuk mengelola proses. Ingatlah bahwa membunuh utilitas dapat mengirim sinyal ke proses lain selain sinyal "membunuh".
USER Ini adalah nama pengguna yang memiliki proses.
TIME+ Ini menunjukkan jumlah kumulatif waktu CPU yang diperoleh oleh proses sejak dimulai.
THR Ini adalah jumlah total utas yang sedang berjalan untuk proses ini.
NI Ini adalah jumlah proses yang bagus.
S Ini adalah status saat ini; bisa jadi (R )unning, (S )tidur, (Saya )dle, T atau t ketika proses dihentikan selama pelacakan debug, atau (Z )ombi. Zombie adalah proses yang telah dibunuh tetapi belum sepenuhnya mati, sehingga proses tersebut terus memakan beberapa sumber daya sistem, seperti RAM.
R/s dan W/s Ini adalah pembacaan dan penulisan disk per detik.
Perintah Ini adalah perintah yang digunakan untuk memulai proses.

Glance biasanya menentukan kolom sortir default secara otomatis. Proses dapat diurutkan secara otomatis (a ), atau oleh CPU (c ), memori (m ), nama (p ), pengguna (u ), tingkat I/O (i ), atau waktu (t ). Proses secara otomatis diurutkan berdasarkan sumber daya yang paling sering digunakan. Pada gambar di atas, TIME+ kolom disorot.

Bagian peringatan

Glances juga menampilkan peringatan dan peringatan penting, termasuk waktu dan durasi acara, di bagian bawah layar. Ini dapat membantu saat Anda mencoba mendiagnosis masalah dan tidak dapat menatap layar selama berjam-jam. Log peringatan ini dapat diaktifkan atau dinonaktifkan dengan l (huruf kecil L), peringatan dapat dihapus dengan w kunci, sementara lansiran dan peringatan semua dapat dihapus dengan x .

Glances memiliki bilah sisi yang sangat bagus di sebelah kiri yang menampilkan informasi yang tidak tersedia di atas atau htop . Sementara di atas menampilkan beberapa data ini, Glances adalah satu-satunya monitor yang menampilkan data tentang sensor. Lagi pula, terkadang menyenangkan untuk melihat suhu di dalam komputer Anda.

Masing-masing modul, disk, sistem file, jaringan, dan sensor dapat diaktifkan dan dinonaktifkan menggunakan d , f , n , dan s kunci, masing-masing. Seluruh bilah sisi dapat dialihkan menggunakan 2 . Statistik buruh pelabuhan dapat ditampilkan di bilah sisi dengan D .

Perhatikan bahwa sensor perangkat keras tidak ditampilkan saat Glances dijalankan pada mesin virtual.

Mendapatkan bantuan

Anda bisa mendapatkan bantuan dengan menekan tombol h kunci; tutup halaman bantuan dengan menekan h lagi. Halaman Bantuan agak singkat, tetapi menampilkan opsi interaktif yang tersedia dan cara mengaktifkan dan menonaktifkannya. Halaman manual memiliki penjelasan singkat tentang opsi yang dapat digunakan saat meluncurkan Glances.

Anda dapat menekan q atau Esc untuk keluar dari Glance.

Konfigurasi

Glances tidak memerlukan file konfigurasi untuk bekerja dengan baik. Jika Anda memilih untuk memilikinya, contoh seluruh sistem dari file konfigurasi akan ditempatkan di /etc/glances/glances.conf . Pengguna individu dapat memiliki instance lokal di ~/.config/glances/glances.conf , yang akan menimpa konfigurasi global. Tujuan utama dari file konfigurasi ini adalah untuk menetapkan ambang batas untuk peringatan dan peringatan kritis. Anda juga dapat menentukan apakah modul tertentu ditampilkan secara default atau tidak.

Berkas /usr/local/share/doc/glances/README.rst berisi informasi tambahan yang berguna, termasuk modul Python opsional yang dapat Anda instal untuk mendukung beberapa fitur opsional Glances.

Opsi baris perintah

Glances menyediakan opsi baris perintah yang memungkinkannya untuk memulai dalam mode tampilan tertentu. Misalnya, perintah glances -2 memulai program dengan bilah sisi kiri dinonaktifkan.

Jarak jauh dan banyak lagi

Dengan memulainya dalam mode server, Anda dapat menggunakan Glances untuk memantau host jarak jauh:

[root@testvm1 ~]# glances -s

Anda kemudian dapat terhubung ke server dari klien dengan:

[root@testvm2 ~]# glances -c @testvm1

Glances dapat menampilkan daftar server Glances beserta ringkasan aktivitasnya. Ini juga memiliki antarmuka web sehingga Anda dapat memantau server Glances jarak jauh dari browser. Versi terbaru dari Glance juga dapat menampilkan statistik Docker.

Ada juga modul pluggable untuk Glance yang menyediakan data pengukuran yang tidak tersedia di program dasar.

Batasan

Meskipun Glances dapat memantau banyak aspek dari sebuah host, itu tidak dapat mengelola proses. Itu tidak dapat mengubah jumlah proses yang bagus atau mematikannya, seperti top dan htop bisa. Glance bukanlah alat interaktif. Ini digunakan secara ketat untuk pemantauan. Alat eksternal seperti bunuh dan menyewa dapat digunakan untuk mengelola proses.

Sekilas hanya dapat menunjukkan proses yang mengambil sebagian besar sumber daya yang ditentukan, seperti waktu CPU, di ruang yang tersedia. Jika ada ruang untuk mendaftar hanya 10 proses, hanya itu yang dapat Anda lihat. Glances tidak menyediakan opsi pengguliran atau pengurutan terbalik yang memungkinkan Anda melihat proses lain selain proses X teratas.

Dampak pengukuran

Efek pengamat adalah teori fisika yang menyatakan, "hanya mengamati suatu situasi atau fenomena pasti mengubah fenomena itu." Hal ini juga berlaku saat mengukur kinerja sistem Linux.

Hanya menggunakan alat pemantauan mengubah penggunaan sumber daya sistem, termasuk memori dan waktu CPU. atas utilitas dan sebagian besar monitor lain mungkin menggunakan 2% hingga 3% dari waktu CPU sistem. Utilitas Glances memiliki dampak yang jauh lebih besar daripada yang lain; biasanya menggunakan antara 10% dan 20% dari waktu CPU, dan saya telah melihatnya menggunakan sebanyak 40% dari satu CPU dalam sistem yang sangat besar dan aktif dengan 32 CPU. Itu banyak, jadi pertimbangkan dampaknya saat Anda berpikir untuk menggunakan Glances sebagai monitor Anda.

Pendapat pribadi saya adalah bahwa ini adalah harga kecil yang harus dibayar ketika Anda membutuhkan kemampuan Glances.

Ringkasan

Meskipun kurangnya kemampuan interaktif, seperti kemampuan untuk merenung atau bunuh proses, dan beban CPU yang tinggi, saya menemukan Glances sebagai alat yang sangat berguna. Dokumentasi Glances lengkap tersedia di internet, dan halaman manual Glances memiliki opsi startup dan informasi perintah interaktif.

Bagian dari artikel ini didasarkan pada buku baru David Both, Menggunakan dan Mengelola Linux:Volume 2 – Nol ke SysAdmin:Topik Lanjutan.


Linux
  1. Menjelajahi jaringan Windows dengan mesin linux Anda dengan pemasangan otomatis dan penemuan semua host dan share.

  2. Instal Linux Mint dengan Windows 8 | Dual Boot Windows 8 dan Linux Mint 12

  3. Pemantauan keamanan di Linux dengan Tripwire

  1. Status pengguna dan pemantauan aktivitas di Linux dengan GNU acct

  2. Interoperabilitas Windows dan Linux:Sekilas tentang Samba

  3. Cara menangkap Ctrl+C di Windows dan Linux dengan Qt

  1. Cara dual-boot Linux dan Windows

  2. Cara mereset kata sandi Windows dengan Linux

  3. Bagaimana menambahkan Linux dan Windows Host jarak jauh ke Icinga 2 untuk Pemantauan