GNU/Linux >> Belajar Linux >  >> Linux

Tutorial Perintah waktu Linux untuk Pemula (dengan Contoh)

Terkadang, saat Anda menjalankan sebuah program, Anda mungkin ingin mengetahui penggunaan sumber daya sistemnya. Seperti berapa banyak waktu yang dihabiskan proses dalam mode kernel dan mode pengguna, dan info lainnya.

Untungnya, ada alat - dijuluki waktu - yang dibuat khusus untuk tujuan ini. Dalam artikel ini, kita akan membahas dasar-dasar perintah 'waktu' menggunakan beberapa contoh yang mudah dipahami.

Namun sebelum kita melakukannya, perlu disebutkan bahwa semua contoh dalam tutorial ini telah diuji pada mesin Ubuntu 18.04 LTS.

Perintah waktu Linux

Perintah waktu di Linux memungkinkan Anda untuk menjalankan program dan meringkas penggunaan sumber daya sistemnya. Berikut sintaksnya:

time [OPTIONS] COMMAND [ARGS]

Begini cara halaman manual alat menjelaskannya:

time run the program COMMAND with any given arguments ARG....  When COMMAND finishes, time displays
information about resources used by COMMAND (on the standard error output, by default). 

If COMMAND exits with non-zero status, time displays a warning message and the exit status.

time determines which information to display about the resources used by the COMMAND from the
string FORMAT. If no format is specified on the command line, but the TIME environment variable
is set, its value is used as the format. Otherwise, a default format built into time is used.

Options to time must appear on the command line before COMMAND.  Anything on the command line after
COMMAND is passed as arguments to COMMAND.

Berikut adalah beberapa contoh gaya Tanya Jawab yang akan memberi Anda gambaran yang lebih baik tentang cara kerja perintah waktu.

Q1. Bagaimana cara menggunakan perintah waktu?

Penggunaan dasarnya sederhana - cukup jalankan 'waktu' dengan perintah/program yang ingin Anda jalankan sebagai input.

Misalnya, saya menggunakan perintah waktu dengan cara berikut:

time ping howtoforge.com

Dan inilah hasilnya:

PING howtoforge.com (104.24.0.68) 56(84) bytes of data.
64 bytes from 104.24.0.68 (104.24.0.68): icmp_seq=1 ttl=59 time=93.8 ms
64 bytes from 104.24.0.68 (104.24.0.68): icmp_seq=2 ttl=59 time=91.5 ms
64 bytes from 104.24.0.68 (104.24.0.68): icmp_seq=3 ttl=59 time=93.1 ms
64 bytes from 104.24.0.68 (104.24.0.68): icmp_seq=4 ttl=59 time=102 ms
^C
--- howtoforge.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3003ms
rtt min/avg/max/mdev = 91.510/95.249/102.490/4.267 ms

real    0m3.472s
user    0m0.000s
sys    0m0.004s

Tiga baris terakhir dalam output ditambahkan oleh perintah waktu. Sementara 'nyata' menandakan waktu jam dinding yang diambil perintah 'ping' dari eksekusi hingga penghentian, 'pengguna' dan 'sys' adalah waktu yang diambil oleh 'ping' ruang pengguna dan ruang kernel, masing-masing. Detail mengenai ketiga waktu tersebut dapat diakses di sini.

Q2. Bagaimana cara membuat 'waktu' menulis outputnya ke file?

Jika Anda ingin perintah time menulis outputnya ke file alih-alih terminal, gunakan opsi baris perintah -o, yang mengharapkan nama file/jalur sebagai input.

Misalnya:

/usr/bin/time -o /home/himanshu/time-output.txt ping howtoforge.com

Perintah ini akan menampilkan output ping di stdout, sedangkan output perintah 'time' akan ditulis ke file teks.

CATATAN :Kami menggunakan /usr/bin/time alih-alih 'time' karena perintah waktu bawaan shell tidak menawarkan opsi -o.

Secara default, setiap kali Anda menjalankan perintah ini, file output akan ditimpa. Namun, jika mau, Anda dapat memastikan keluaran baru ditambahkan dengan menggunakan opsi baris perintah -a.

Q3. Bagaimana membuat waktu menghasilkan keluaran yang detail?

Ini dapat dilakukan dengan menggunakan opsi baris perintah -v. Misalnya, ketika saya menggunakan opsi ini saat menjalankan 'waktu' dengan perintah 'ping', detail berikut dihasilkan dalam output perintah 'waktu':

Command being timed: "ping howtoforge.com"
    User time (seconds): 0.00
    System time (seconds): 0.00
    Percent of CPU this job got: 0%
    Elapsed (wall clock) time (h:mm:ss or m:ss): 0:11.77
    Average shared text size (kbytes): 0
    Average unshared data size (kbytes): 0
    Average stack size (kbytes): 0
    Average total size (kbytes): 0
    Maximum resident set size (kbytes): 3064
    Average resident set size (kbytes): 0
    Major (requiring I/O) page faults: 0
    Minor (reclaiming a frame) page faults: 158
    Voluntary context switches: 14
    Involuntary context switches: 0
    Swaps: 0
    File system inputs: 0
    File system outputs: 0
    Socket messages sent: 0
    Socket messages received: 0
    Signals delivered: 0
    Page size (bytes): 4096
    Exit status: 0

Jadi Anda dapat melihat perintah waktu menghasilkan banyak detail lainnya dalam mode ini.

Q4. Bagaimana cara menyesuaikan keluaran perintah waktu?

Perintah waktu juga menawarkan opsi baris perintah 'format' yang memungkinkan Anda menyesuaikan output alat ini. Ini menyediakan satu set penentu sumber daya yang dapat Anda gunakan untuk mengambil semua jenis informasi yang didukung oleh perintah 'waktu' (lihat bagian sebelumnya).

Misalnya, perintah waktu dalam eksekusi berikut:

/usr/bin/time -f "\t%C [Command details],\t%K [Total memory usage],\t%k [Number of signals process received]" ping howtoforge.com

menghasilkan output ini:

ping howtoforge.com [Command details],    0 [Total memory usage],    0 [Number of signals process received]

Halaman manual perintah waktu berisi detail yang terkait dengan opsi format baris perintah.

Kesimpulan

Perintah waktu sebagian besar digunakan oleh pengembang dan penguji perangkat lunak. Namun, tidak ada salahnya mengetahuinya bahkan jika Anda bukan salah satu dari mereka, karena Anda tidak pernah tahu kapan Anda membutuhkannya. Info lebih lanjut tentang perintah ini dapat diakses melalui halaman manual alat.


Linux
  1. Linux memperluas Tutorial Perintah Untuk Pemula (dengan Contoh)

  2. Tutorial perintah faktor Linux untuk pemula (dengan contoh)

  3. Tutorial Perintah Linux nproc untuk Pemula (dengan Contoh)

  1. Linux ya Tutorial Perintah untuk Pemula (dengan Contoh)

  2. Tutorial Perintah Linux tac untuk Pemula (dengan Contoh)

  3. Tutorial Perintah Pengguna Linux untuk Pemula (dengan Contoh)

  1. Tutorial Perintah penjumlahan Linux untuk Pemula (dengan Contoh)

  2. Tutorial Perintah tidur Linux untuk Pemula (dengan Contoh)

  3. Tutorial Perintah nama dasar Linux untuk Pemula (dengan Contoh)