GNU/Linux >> Belajar Linux >  >> Linux

Kiat untuk menggunakan perintah teratas di Linux

Mencoba mencari tahu apa yang berjalan di mesin Anda—dan proses mana yang menghabiskan semua memori Anda dan membuat semuanya berjalan lancar—adalah tugas yang dilayani dengan baik oleh utilitas top .

top adalah program yang sangat berguna yang bertindak mirip dengan Pengelola Tugas Windows atau Monitor Aktivitas MacOS. Menjalankan top di mesin *nix Anda akan menunjukkan kepada Anda tampilan langsung dari proses yang berjalan di sistem Anda.

$ top

Tergantung pada versi top Anda sedang berlari, Anda akan mendapatkan sesuatu yang terlihat seperti ini:

top - 08:31:32 up 1 day,  4:09,  0 users,  load average: 0.20, 0.12, 0.10
Tasks:   3 total,   1 running,   2 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.5 us,  0.3 sy,  0.0 ni, 99.2 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem:   4042284 total,  2523744 used,  1518540 free,   263776 buffers
KiB Swap:  1048572 total,        0 used,  1048572 free.  1804264 cached Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
    1 root      20   0   21964   3632   3124 S   0.0  0.1   0:00.23 bash
  193 root      20   0  123520  29636   8640 S   0.0  0.7   0:00.58 flask
  195 root      20   0   23608   2724   2400 R   0.0  0.1   0:00.21 top

Versi top . Anda mungkin terlihat berbeda dari ini, terutama di kolom yang ditampilkan.

Cara membaca output

Anda dapat mengetahui apa yang Anda jalankan berdasarkan output, tetapi mencoba menafsirkan hasilnya bisa sedikit membingungkan.

Beberapa baris pertama berisi sekumpulan statistik (detail) diikuti oleh tabel dengan daftar hasil (daftar). Mari kita mulai dengan yang terakhir.

Daftar

Lebih banyak sumber daya Linux

  • Lembar contekan perintah Linux
  • Lembar contekan perintah Linux tingkat lanjut
  • Kursus online gratis:Ikhtisar Teknis RHEL
  • Lembar contekan jaringan Linux
  • Lembar contekan SELinux
  • Lembar contekan perintah umum Linux
  • Apa itu container Linux?
  • Artikel Linux terbaru kami

Ini adalah proses yang sedang berjalan pada sistem. Secara default, mereka diurutkan berdasarkan penggunaan CPU dalam urutan menurun. Ini berarti item di bagian atas daftar menggunakan lebih banyak sumber daya CPU dan menyebabkan lebih banyak beban pada sistem Anda. Mereka secara harfiah adalah proses "atas" berdasarkan penggunaan sumber daya. Harus diakui, itu nama yang cerdas.

COMMAND kolom di paling kanan melaporkan nama proses (perintah yang Anda jalankan untuk memulainya). Dalam contoh ini, mereka adalah bash (penerjemah perintah yang kami jalankan top di), flask (kerangka mikro web yang ditulis dengan Python), dan top sendiri.

Kolom lain memberikan informasi yang berguna tentang proses:

  • PID :id proses , pengidentifikasi unik untuk menangani proses
  • USER :pengguna yang menjalankan proses
  • PR :prioritas tugas
  • NI :representasi prioritas yang lebih baik
  • VIRT :ukuran memori virtual dalam KiB (kibibyte)*
  • RES :ukuran memori tetap dalam KiB* ("memori fisik" dan subset dari VIRT)
  • SHR :ukuran memori bersama dalam KiB* ("memori bersama" dan subset VIRT)
  • S :status proses, biasanya I =menganggur, R =lari, S =tidur, Z =zombie, T atau t =stopped (ada juga opsi lain yang kurang umum)
  • %CPU :Persentase penggunaan CPU sejak pembaruan layar terakhir
  • %MEM :persentase RES penggunaan memori sejak pembaruan layar terakhir
  • TIME+ :total waktu CPU yang digunakan sejak proses dimulai
  • COMMAND :perintah, seperti yang dijelaskan di atas

*Tahu persis apa itu VIRT , RES , dan SHR nilai mewakili tidak benar-benar penting dalam operasi sehari-hari. Yang penting diketahui adalah proses dengan VIRT paling banyak adalah proses yang menggunakan memori paling banyak. Jika Anda berada di top karena Anda sedang men-debug mengapa komputer Anda terasa seperti berada di kolam molase, proses dengan VIRT terbesar nomor adalah pelakunya. Jika Anda ingin mempelajari dengan tepat apa arti memori "bersama" dan "fisik", lihat "Jenis Memori Linux" di manual atas.

Dan, ya, saya memang bermaksud mengetik kibi byte, bukan kilo byte. Nilai 1.024 yang biasa Anda sebut kilobyte adalah sebenarnya satu kibibyte. Yunani kilo ("χίλιοι") berarti seribu dan berarti 1.000 sesuatu (misalnya, satu kilometer adalah seribu meter, satu kilogram adalah seribu gram). Kibi adalah gabungan dari kilo dan byte , dan itu berarti 1.024 byte (atau 2). Tapi, karena kata-kata sulit untuk diucapkan, banyak orang mengatakan kilobyte ketika mereka berarti 1.024 byte. Semua ini berarti top sedang mencoba menggunakan istilah yang tepat di sini, jadi ikuti saja. #themoreyouknow ?.

Catatan tentang pembaruan layar:

Pembaruan layar langsung adalah salah satu hal yang secara objektif sangat keren Program Linux dapat melakukannya. Ini berarti mereka dapat memperbarui tampilan mereka sendiri secara real time, sehingga mereka tampil beranimasi. Meskipun mereka menggunakan teks. Keren abis! Dalam kasus kami, waktu antara pembaruan penting, karena beberapa statistik kami (%CPU dan %MEM ) didasarkan pada nilai sejak pembaruan layar terakhir.

Dan karena kita menjalankan aplikasi persisten, kita dapat menekan perintah kunci untuk membuat perubahan langsung pada pengaturan atau konfigurasi (sebagai ganti, katakanlah, menutup aplikasi dan menjalankan aplikasi lagi dengan tanda baris perintah yang berbeda).

Mengetik h memanggil layar "bantuan", yang juga menampilkan penundaan default (waktu antara pembaruan layar). Secara default, nilai ini (sekitar) tiga detik, tetapi Anda dapat mengubahnya dengan mengetikkan d (mungkin untuk "penundaan") atau s (mungkin untuk "layar" atau "detik").

Detail

Di atas daftar proses, ada banyak informasi berguna lainnya. Beberapa detail ini mungkin terlihat aneh dan membingungkan, tetapi setelah Anda meluangkan waktu untuk menelusuri setiap detailnya, Anda akan melihat bahwa statistik tersebut sangat berguna untuk digunakan dalam keadaan darurat.

Baris pertama berisi informasi sistem umum

  • top :kami menjalankan top ! Hai top !
  • XX:YY:XX :waktu, diperbarui setiap kali layar diperbarui
  • up (lalu X day, YY:ZZ ):waktu aktif sistem, atau berapa lama waktu telah berlalu sejak sistem dihidupkan
  • load average (lalu tiga angka):sistem memuat masing-masing selama satu, lima, dan 15 menit terakhir

Baris kedua (Tasks ) menunjukkan informasi tentang tugas yang sedang berjalan, dan itu cukup jelas. Ini menunjukkan jumlah total proses dan jumlah proses yang berjalan, tidur, berhenti, dan zombie. Ini secara harfiah merupakan penjumlahan dari S (negara bagian ) kolom yang dijelaskan di atas.

Baris ketiga (%Cpu(s) ) menunjukkan penggunaan CPU yang dipisahkan berdasarkan jenisnya. Data adalah nilai antara penyegaran layar. Nilainya adalah:

  • us :proses pengguna
  • sy :proses sistem
  • ni :proses pengguna yang bagus
  • id :waktu idle CPU; waktu idle yang tinggi berarti tidak banyak yang terjadi sebaliknya
  • wa :waktu tunggu, atau waktu yang dihabiskan untuk menunggu penyelesaian I/O
  • hi :waktu yang dihabiskan untuk menunggu interupsi perangkat keras
  • si :waktu yang dihabiskan untuk menunggu interupsi perangkat lunak
  • st :"waktu dicuri dari VM ini oleh hypervisor"

Anda dapat menutup Tasks dan %Cpu(s) baris dengan mengetik t (untuk "beralih").

Keempat (KiB Mem ) dan baris kelima (KiB Swap ) memberikan informasi untuk memori dan swap. Nilai-nilai ini adalah:

  • total
  • used
  • free

Tapi juga:

  • memori buffers
  • tukar cached Mem

Secara default, mereka terdaftar di KiB, tetapi menekan E (untuk "perpanjang penskalaan memori") berputar melalui nilai yang berbeda:kibibyte, mebibyte, gibibyte, tebibyte, pebibyte, dan exbibyte. (Artinya, kilobyte, megabyte, gigabyte, terabyte, petabyte, dan exabytes, tetapi "nama asli" mereka.)

top panduan pengguna menunjukkan lebih banyak informasi tentang flag dan konfigurasi yang berguna. Untuk menemukan manual di sistem Anda, Anda dapat menjalankan man top . Ada berbagai situs web yang menampilkan rendering HTML dari manual, tetapi perhatikan bahwa ini mungkin untuk versi top yang berbeda .

Dua alternatif teratas

Anda tidak harus selalu menggunakan top untuk memahami apa yang terjadi. Bergantung pada keadaan Anda, alat lain mungkin membantu Anda mendiagnosis masalah, terutama jika Anda menginginkan antarmuka yang lebih grafis atau khusus.

htop

htop sangat mirip dengan top , tetapi ini membawa sesuatu yang sangat berguna ke dalam tabel:representasi grafis dari CPU dan penggunaan memori.

Beginilah lingkungan yang kami periksa di top lihat di htop . Tampilannya jauh lebih sederhana, namun tetap kaya fitur.

Jumlah tugas, pemuatan, waktu aktif, dan daftar proses kami masih ada, tetapi kami mendapatkan tampilan animasi yang bagus dan berwarna dari penggunaan CPU per inti dan grafik penggunaan memori.

Inilah arti dari perbedaan warna (Anda juga bisa mendapatkan informasi ini dengan menekan h untuk "bantuan").

Prioritas atau jenis tugas CPU:

  • biru:prioritas rendah
  • hijau:prioritas normal
  • merah:tugas kernel
  • biru:tugas virtual
  • nilai di akhir bilah adalah persentase CPU yang digunakan

Memori:

  • hijau:memori bekas
  • biru:memori buffer
  • kuning:memori cache
  • nilai di akhir bilah menunjukkan memori yang digunakan dan total

Jika warna tidak berguna untuk Anda, Anda dapat menjalankan htop -C untuk menonaktifkannya; sebagai gantinya htop akan menggunakan simbol yang berbeda untuk memisahkan jenis CPU dan memori.

Di bagian bawah, ada tampilan tombol fungsi aktif yang berguna yang dapat Anda gunakan untuk melakukan hal-hal seperti memfilter hasil atau mengubah urutan pengurutan. Cobalah beberapa perintah untuk melihat apa yang mereka lakukan. Berhati-hatilah saat mencoba F9 . Ini akan memunculkan daftar sinyal yang akan mematikan (yaitu, menghentikan) suatu proses. Saya menyarankan untuk menjelajahi opsi ini di luar lingkungan produksi.

Penulis htop , Hisham Muhammad (dan ya, ini disebut htop setelah Hisham) menyajikan ceramah kilat tentang htop di FOSDEM 2018 pada bulan Februari. Dia menjelaskan bagaimana htop tidak hanya memiliki grafik yang rapi, tetapi juga menampilkan informasi statistik yang lebih modern tentang proses yang digunakan oleh utilitas pemantauan lama (seperti top ) jangan.

Anda dapat membaca lebih lanjut tentang htop di halaman manual atau situs web htop. (Peringatan:situs web berisi latar belakang animasi htop .)

statistik buruh pelabuhan

Jika Anda bekerja dengan Docker, Anda dapat menjalankan docker stats untuk menghasilkan representasi kaya konteks tentang apa yang dilakukan container Anda.

Ini bisa lebih membantu daripada top karena, alih-alih memisahkan dengan proses, Anda memisahkan dengan wadah. Ini sangat berguna ketika sebuah container lambat, karena melihat container mana yang menggunakan resource paling banyak lebih cepat daripada menjalankan top dan mencoba memetakan proses ke container.

Penjelasan singkatan dan deskriptor di atas di top dan htop harus membuatnya mudah untuk memahami yang ada di docker stats . Namun, dokumentasi statistik buruh pelabuhan memberikan deskripsi yang berguna untuk setiap kolom.


Linux
  1. 7 trik praktis untuk menggunakan perintah wget Linux

  2. 8 tips untuk baris perintah Linux

  3. 10 pintasan terminal teratas saya untuk Linux

  1. Kiat Linux untuk menggunakan cron untuk menjadwalkan tugas

  2. Panduan terminal Linux untuk pemula

  3. Menjinakkan perintah tar:Kiat untuk mengelola cadangan di Linux

  1. Menggunakan kekuatan di baris perintah Linux

  2. Kiat untuk membuat daftar file dengan ls di baris perintah Linux

  3. 3 pengelola kata sandi untuk baris perintah Linux