Saya dapat dengan cepat memonitor waktu proses yang sedang berjalan dengan time
:
x@y ~ $ time foo
real 0m14.299s
user 0m4.770s
sys 0m0.440s
Apakah ada cara saya bisa mendapatkan data yang sama untuk penggunaan I / O dan CPU dari argumen, yang direkam ke STDOUT? Perintah atau utilitas sederhana seperti time
ideal, di mana saya hanya melewatkan argumen dari hal yang ingin saya jalankan:
x@y ~ $ stats foo
wallclock runtime 0m14.299s
I/O reads 290,420 KB
I/O writes 239,429 KB
peak CPU usage 18.62%
mean CPU usage 1.44%
# etc.
command
time
statistics
time-utility
John Feminella
sumber
sumber
zsh
'stime
kata kunci juga dapat dikonfigurasi (dengan$TIMEFMT
) untuk memberikan dengan informasi tersebut.command time -v ...
sejakbash
pembajakantime
.Perintah
strace
ini dapat bermanfaat, Anda dapat membatasi jejak hanya menghitung-c
atau bagian dari panggilan sistem,Dalam jawaban ini , saya menggunakannya untuk menghitung jumlah panggilan sistem. Saya tidak tahu apakah ada yang akan memberi Anda ringkasan ringkasan dari throughput, namun strace dapat menghasilkan angka untuk sesuatu yang ingin
awk
diringkas.sumber
strace
dapat memperlambat segalanya secara signifikan, jadi ini berguna untuk mengukur waktu relatif dari syscalls yang berbeda, tetapi saya tidak akan menggunakannya sebagai pengukur waktu untuk keperluan umum.perf
jauh lebih cepat / kurang mengganggu, jika Anda bermain dengan opsi frekuensi sampling.