GNU/Linux >> Belajar Linux >  >> Linux

Contoh Perintah Waktu Linux

Ada kalanya Anda mungkin ingin membuat profil program Anda pada parameter seperti:

  • Waktu yang dibutuhkan oleh program dalam mode pengguna
  • Waktu yang dibutuhkan oleh program dalam mode kernel
  • Penggunaan memori rata-rata oleh program
  • dll

Di Linux kami memiliki utilitas 'waktu' yang dirancang khusus untuk tujuan ini. Utilitas 'waktu' mengambil nama program sebagai input dan menampilkan informasi tentang sumber daya yang digunakan oleh program. Juga, jika perintah ada dengan status bukan nol, utilitas ini menampilkan pesan peringatan dan status keluar.

Sintaks 'waktu' adalah :

/usr/bin/time [options] program [arguments]

Dalam sintaks di atas, 'opsi' merujuk ke kumpulan flag/nilai opsional yang dapat diteruskan ke utilitas 'waktu' untuk mengatur atau menghapus fungsi tertentu. Berikut ini adalah opsi perintah waktu yang tersedia:

  • -v, –verbose :Opsi ini dilewatkan ketika penjelasan rinci tentang output diperlukan.
  • –quite :Opsi ini mencegah utilitas 'waktu' untuk melaporkan status program.
  • -f, –format :Opsi ini memungkinkan pengguna untuk mengontrol format output dari utilitas 'waktu'.
  • -p, –portabilitas :Opsi ini menetapkan format output berikut untuk membuat output sesuai dengan POSIX
  • real %e
    user %U
    sys %S
  • -o FILE, –output=FILE :Opsi ini memungkinkan pengguna untuk mengarahkan output utilitas 'waktu' ke file. Opsi ini memungkinkan utilitas 'waktu' untuk menimpa file FILE.
  • -a, –append :Opsi ini memungkinkan utilitas 'waktu' untuk menambahkan informasi ke file FILE daripada menimpanya.

Ketika perintah 'waktu' dijalankan, berikut adalah jenis output yang diberikannya:

# /usr/bin/time ls
anaconda-ks.cfg  bin  install.log  install.log.syslog  mbox
0.00user 0.00system 0:00.00elapsed 0%CPU (0avgtext+0avgdata 3888maxresident)k
0inputs+0outputs (0major+304minor)pagefaults 0swaps

Seperti yang dapat kita lihat di atas, selain menjalankan perintah, dua baris terakhir dari output adalah informasi sumber daya yang dikeluarkan oleh perintah 'waktu'.

Catatan:Pada contoh di atas, perintah 'waktu' dijalankan tanpa opsi apa pun. Jadi ini adalah output default yang dihasilkan oleh perintah 'waktu', yang tidak diformat dengan benar.

Seperti yang bisa kita lihat dari output, format default dari output yang dihasilkan adalah :

%Uuser %Ssystem %Eelapsed %PCPU (%Xtext+%Ddata %Mmax)k
%Iinputs+%Ooutputs (%Fmajor+%Rminor)pagefaults %Wswaps

Opsi Format

Opsi ini memungkinkan pengguna untuk memutuskan output yang dihasilkan oleh perintah 'waktu'. Pada bagian terakhir kita membahas format default yang digunakan dalam output. Di sini, di bagian ini, kita akan mempelajari cara menentukan format yang disesuaikan.

Format string biasanya terdiri dari `resource specifiers' yang diselingi dengan teks biasa. Tanda persen (`%') dalam format string menyebabkan karakter berikut ditafsirkan sebagai penentu sumber daya.

Garis miring terbalik (`\') memperkenalkan `garis miring terbalik', yang diterjemahkan ke dalam satu karakter pencetakan pada saat keluaran. `\t' menampilkan karakter tab, `\n' menampilkan baris baru, dan `\\' menampilkan garis miring terbalik. Garis miring terbalik yang diikuti oleh karakter lain akan menghasilkan tanda tanya (`?’) diikuti dengan garis miring terbalik, untuk menunjukkan bahwa garis miring terbalik yang diberikan tidak valid.

Teks lain dalam format string disalin kata demi kata ke output. time selalu mencetak baris baru setelah mencetak informasi penggunaan sumber daya, jadi biasanya format string tidak diakhiri dengan karakter baris baru (atau `0).

Misalnya :

$ /usr/bin/time -f "\t%U user,\t%S system,\t%x status" date
Sun Jan 22 17:46:58 IST 2012
	0.00 user,	0.00 system,	0 status

Jadi kita melihat bahwa pada contoh di atas, kita mencoba mengubah format output dengan menggunakan format output yang berbeda.

Sumber daya

Karena kita telah membahas di atas bahwa utilitas 'waktu' menampilkan informasi tentang penggunaan sumber daya oleh suatu program, Di bagian ini mari kita daftar sumber daya yang dapat dilacak oleh utilitas ini dan penentu yang sesuai.

Dari halaman manual :

  • C – Nama dan argumen baris perintah dari perintah yang diatur waktunya.
  • D – Ukuran rata-rata area data yang tidak dibagikan proses, dalam Kilobyte.
  • E – Waktu nyata (jam dinding) berlalu yang digunakan oleh proses, dalam [jam:]menit:detik.
  • F – Jumlah kesalahan halaman utama, atau yang memerlukan I/O, yang terjadi saat proses sedang berjalan. Ini adalah kesalahan di mana halaman benar-benar dipindahkan dari memori utama.
  • I – Jumlah input sistem file oleh proses.
  • K – Rata-rata total penggunaan memori (data+tumpukan+teks) proses, dalam Kilobyte.
  • M – Ukuran kumpulan penduduk maksimum dari proses selama masa pakainya, dalam Kilobyte.
  • O – Jumlah keluaran sistem file menurut proses.
  • P – Persentase CPU yang diperoleh tugas ini. Ini hanya pengguna + waktu sistem dibagi dengan total waktu berjalan. Itu juga mencetak tanda persentase.
  • R – Jumlah kesalahan halaman kecil, atau dapat dipulihkan. Ini adalah halaman yang tidak valid (jadi mereka salah) tetapi belum diklaim oleh halaman virtual lainnya. Dengan demikian data di halaman masih valid tetapi tabel sistem harus diperbarui.
  • S – Jumlah total CPU-detik yang digunakan oleh sistem atas nama proses (dalam mode kernel), dalam hitungan detik.
  • U – Jumlah total CPU-detik yang digunakan proses secara langsung (dalam mode pengguna), dalam detik.
  • W – Berapa kali proses dipindahkan dari memori utama.
  • X – Jumlah rata-rata teks yang dibagikan dalam proses, dalam Kilobyte.
  • Z – Ukuran halaman sistem, dalam byte. Ini adalah konstanta per sistem, tetapi bervariasi antar sistem.
  • c – Frekuensi proses beralih konteks tanpa disengaja (karena bagian waktu kedaluwarsa).
  • e – Waktu nyata (jam dinding) yang berlalu yang digunakan oleh proses, dalam detik.
  • k – Jumlah sinyal yang dikirim ke proses.
  • p – Rata-rata ukuran tumpukan proses yang tidak dibagikan, dalam Kilobyte.
  • r – Jumlah pesan soket yang diterima oleh proses.
  • s – Jumlah pesan soket yang dikirim oleh proses.
  • t – Rata-rata ukuran set residen dari proses, dalam Kilobyte.
  • w – Frekuensi program beralih konteks secara sukarela, misalnya saat menunggu operasi I/O selesai.
  • x – Keluar dari status perintah.

Jadi kita dapat melihat bahwa ada daftar panjang sumber daya yang penggunaannya dapat dilacak oleh utilitas 'waktu'.

Mengapa /usr/bin/time? (Alih-alih hanya waktu)

Mari kita tidak menggunakan /usr/bin/time dan menggunakan 'waktu' sebagai gantinya.

$ time -f "\t%U user,\t%S system,\t%x status" date
-f: command not found 

real	0m0.255s
user	0m0.230s
sys	0m0.030s

Seperti yang terlihat dari output di atas, perintah 'time' ketika digunakan tanpa path lengkap (/usr/bin/time) memunculkan kesalahan terkait flag '-f'. Juga format output bukanlah yang ditentukan oleh kami dalam perintah atau format default yang telah kami diskusikan sebelumnya. Hal ini menyebabkan kebingungan tentang bagaimana output ini dihasilkan.

Saat perintah 'waktu' dijalankan tanpa jalur lengkap (/usr/bin/time), maka perintah 'waktu' bawaan dari bash shell yang dijalankan.

  • Gunakan 'man time' untuk melihat halaman manual /usr/bin/time
  • Gunakan 'waktu bantuan' untuk melihat informasi tentang built-in waktu bash.

Linux
  1. sa Contoh Perintah di Linux

  2. w Contoh Perintah di Linux

  3. Contoh Perintah ac di Linux

  1. Contoh Perintah df di Linux

  2. du Contoh Perintah di Linux

  3. Contoh Perintah tee di Linux

  1. 8 Contoh Perintah Linux TR

  2. Contoh Perintah rm di Linux

  3. Contoh Perintah timedatectl di Linux