خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را
آموزش استفاده از دستور time در لینوکس
دستور time برای تعیین مدت زمان اجرای یک دستور داده شده، استفاده می شود. برای آزمایش عملکرد و performance اسکریپت ها و دستورات شما مفید است. به عنوان مثال، اگر دو اسکریپت مختلف دارید که کار یکسانی را انجام می دهند و می خواهید بدانید کدام یک عملکرد بهتری دارد، می توانید از دستور time برای تعیین مدت زمان اجرای هر اسکریپت استفاده کنید.
می توانید از دستور type برای تعیین اینکه time یک binary یا built-in keyword است، استفاده کنید:
برای استفاده از دستور Gnu time، باید مسیر کامل باینری time را مشخص کنید(مسیرهم در خروجی دستور فوق مشخص شده است).
Gnu time به شما امکان می دهد خروجی را فرمت کنید و اطلاعات مفید دیگری مانند I/O حافظه و IPC calls را ارائه می دهد.
آنچه به عنوان خروجی نمایش داده می شود بستگی به نسخه دستور time دارد که استفاده می کنید:
Real یا total یا elapsed زمان شروع تا پایان است. این زمان از لحظه ای که کلید Enter را فشار می دهید تا زمانی که دستور wget کامل می شود، است.
User مقدار CPU time صرف شده در حالت user mode است.
Sys یا system مقدار CPU time در حالت kernel mode است.
در خصوص kernel mode و User mode می توانید به لینک های زیر مراجعه کنید:
Time Command Versions
هم Bash و هم Zsh، پرکاربردترین shell های لینوکس، نسخههای Built-in دستور time خود را دارند که بر دستور GNU time اولویت دارند.می توانید از دستور type برای تعیین اینکه time یک binary یا built-in keyword است، استفاده کنید:
type time
# Bash
time is a shell keyword
# Zsh
time is a reserved word
# GNU time (sh)
time is /usr/bin/time
برای استفاده از دستور Gnu time، باید مسیر کامل باینری time را مشخص کنید(مسیرهم در خروجی دستور فوق مشخص شده است).
Gnu time به شما امکان می دهد خروجی را فرمت کنید و اطلاعات مفید دیگری مانند I/O حافظه و IPC calls را ارائه می دهد.
Using Linux Time Command
در مثال زیر، ما زمان دانلود کرنل لینوکس را با استفاده از ابزار wget اندازه گیری می کنیم:time wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.19.9.tar.xz
آنچه به عنوان خروجی نمایش داده می شود بستگی به نسخه دستور time دارد که استفاده می کنید:
# 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
Real یا total یا elapsed زمان شروع تا پایان است. این زمان از لحظه ای که کلید Enter را فشار می دهید تا زمانی که دستور wget کامل می شود، است.
User مقدار CPU time صرف شده در حالت user mode است.
Sys یا system مقدار CPU time در حالت kernel mode است.
در خصوص kernel mode و User mode می توانید به لینک های زیر مراجعه کنید:
نمایش دیدگاه ها (0 دیدگاه)
دیدگاه خود را ثبت کنید: