1 Temmuz 2020 Çarşamba

time komutu

Giriş
time komutu belirtilen uygulamanın çalışırken ne kadar zaman tuttuğunu gösterir. Aslında iki tane time komutu var
1. Kabuk içindeki time (bash veya zsh)
2. /usr/bin/time (GNU Time)

Hepsinin çıktısı farklı. Çıktıları şöyle. Eğer bash kullanıyorsak real satırı önemli. Zsh kullanıyorsak en sondaki total önemli. Gnu kullanıyorsak en baştaki değer önemli.
# Bash
real 0m33.961s
user 0m0.340s
sys 0m0.940s

# Zsh
0.34s user 0.94s system 4% cpu 33.961 total

# GNU time (sh)
0.34user 0.94system 0:33.96elapsed 4%CPU (0avgtext+0avgdata 6060maxresident)k
0inputs+201456outputs (0major+315minor)pagefaults 0swaps

if Kullanımı
Örnek
Şöyle yaparız.
$ time if true; then sleep 1; fi

real    0m1.004s
user    0m0.000s
sys     0m0.000s
if/else Kullanımı
Örnek

Şöyle yaparız
$ time if [[ $dir2 -ot $dir1 ]] ; then open $dir2 ; else open $dir1 ; fi
real    0m0.055s
user    0m0.023s
sys     0m0.018s
pipe İle Kullanımı
bash kullanırken time komutu tek başına çalışır ama pipeline içinde çalışmaz. Bunu görmek için 
Örnek
şöyle yaparız
# echo foo | time sleep 1
bash: time: command not found
Şöyle yaparız. En son pipe işlemini ölçer.
# example of pipeline separated with |:
$ time true | sleep 1

real    0m1.004s
user    0m0.000s
sys     0m0.000s
Komut Dizisi Kullanımı
Örnek

Komut dizisini süslü parantez ile kullanmak gerekir. Şu kod yanlış
$ time true && sleep 1

real    0m0.000s
user    0m0.000s
sys     0m0.000s
Şöyle yaparız
$ time { true && sleep 1; }

real    0m1.003s
user    0m0.000s
sys     0m0.000s
-f seçeneği
format anlamına gelir.

%M Format Belirteci
Açıklaması şöyle
Maximum resident set size of the process during its lifetime, in Kbytes.
Örnek
Şöyle yaparız. KB cinsinden maksimum (peak) kullanılan belleği verir.
/usr/bin/time -f "%M" command
-v seçeneği
Şöyle yaparız.
/usr/bin/time -v ./program_name enter_password

Hiç yorum yok:

Yorum Gönder