Synopsis
dtruss [-acdeflhoLs] [-t syscall] { -p PID | -n name | command }
Description
dtruss, süreç sistem çağrılarına (system calls) ilişkin ayrıntıları yazdırır. truss programının DTrace sürümü gibidir ve truss'a göre daha az müdahaleci (intrusive) olacak şekilde tasarlanmıştır.
Özellikle geçen süreler (elapsed times) ve CPU üzerindeki süreler (on cpu times) ilgi çekicidir; bunlar hem tamamlanması yavaş olan sistem çağrılarını hem de CPU döngülerini tüketenleri belirleyebilir.
DTrace kullandığı için, bu komutu yalnızca root ayrıcalıklarına sahip kullanıcılar çalıştırabilir.
Options
-a: tüm ayrıntıları yazdır
-b bufsize dinamik değişken arabellek boyutu. Dinamik değişken bırakma (drop) hataları fark ederseniz bunu artırın. Varsayılan değer, CPU başına 4 megabayt için "4m"dir.
-c: sistem çağrısı sayılarını yazdır-d: göreceli zaman damgalarını mikrosaniye (us) cinsinden yazdır-e: geçen süreleri mikrosaniye (us) cinsinden yazdır-f: çatallanan (fork) alt süreçleri takip et-l: satır başına pid/lwpid yazdırılmasını zorla-L: satır başına pid/lwpid yazdırma
-n name bu ada sahip süreçleri incele
-W name bu adla eşleşen bir süreci bekle
-o: CPU üzerindeki süreleri mikrosaniye (us) cinsinden yazdır-s: yığın geri izlemelerini (stack backtraces) yazdır
-p PID bu PID'yi incele
-t syscall yalnızca bu sistem çağrısını (syscall) incele
Examples
"df -h" komutunu çalıştır ve incele
# dtruss df -h
PID 1871'i incele
# dtruss -p 1871
"tar" olarak adlandırılan tüm süreçleri incele
# dtruss -n tar
test.sh betiğini çalıştır ve alt süreçleri takip et
# dtruss -f test.sh
"date" komutunu çalıştır, geçen süreleri ve CPU üzerindeki süreleri yazdır
# dtruss -eo date
Fields
PID/LWPID Süreç Kimliği (Process ID) / Hafif Süreç Kimliği (Lightweight Process ID)
RELATIVE iş parçacığının (thread) başlangıcına göre göreceli zaman damgaları, us (mikrosaniye)
ELAPSD bu sistem çağrısı için geçen süre, us
CPU bu sistem çağrısı için CPU üzerindeki süre, us
SYSCALL(args) argümanlarıyla birlikte sistem çağrısı adı (bazıları değerlendirilebilir)
Documentation
Daha fazla belge için Docs dizini altındaki DTraceToolkit içeriğine bakın. DTraceToolkit belgeleri, çıktıyı açıklayan ayrıntılı açıklamalarla birlikte tam olarak işlenmiş örnekleri içerebilir.
Exit
dtruss, Ctrl-C tuşuna basılana kadar sonsuza kadar çalışır veya bir komut yürütüldüyse komut bittiğinde dtruss da sonlanır.
Author
Brendan Gregg [Sydney, Avustralya]
See Also
procsystime(1M), dtrace(1M), truss(1)
version 0.80 June 17, 2005 dtruss(1m)