Próbuję zmierzyć czas wykonania procesu, który wywołuję za pomocą wiersza polecenia (tzn. Chcę dowiedzieć się, ile czasu zajmuje zakończenie procesu). Czy jest jakieś polecenie, które mogę dodać do polecenia wywołującego proces, który to osiągnie?
command-line
performance
htorque
źródło
źródło
real
, couser
isys
kiedy zwraca to polecenie?sudo apt-get install time
jeśli używasz powłoki, któratime
nie jest wbudowana.time
wbudowany w Bash , aleman time
dotyczyłby pliku wykonywalnego (np./usr/bin/time
Ztime
pakietu), a jego wynik wyglądałby inaczej. Również w Bash możesz ubiegać sięhelp time
o pomoc z wbudowanym.Do pomiaru delta linia po linii spróbuj gnomon .
źródło
sudo npm i gnomon -g
jeśli masznpm
. Nie jestem pewien, jak dobrze radzi sobie z liniami „postępu” za pomocą „\ r” (pozostawanie na tej samej linii): w takim przypadku chciałbym, aby liczyło to wszystko jako jedną długą linię, a nie osobne.Możesz użyć
time
:źródło
Uruchomienie tego polecenia w terminalu da ci całkowity czas na skopiowanie pliku
źródło
find
polecenie - bez2>/dev/null
przekierowania - wyświetla obfitePermission denied
wiadomości. Jednak dodanie2>/dev/null
do tego polecenia powoduje przerwanietime
części tego polecenia. Następujące zapewnia dobry kompromis:START="$(date +"%s")" && find 2>/dev/null / -path /mnt -prune -o -name "*libname-server-2.a*" -print; END="$(date +"%s")"; TIME="$((END - START))"; printf 'find command took %s sec\n' "$TIME"
podając (np.)/usr/lib/libname-server-2.a find command took 3 sec
Jako jedyny wynik.time sudo find / -path /mnt -prune -o -name "*libname-server-2.a*" -print
(tj. Assudo
) - unikając licznychPermission denied
ostrzeżeń.Czasami potrzebuję stopera, aby policzyć, ile czasu zajmuje wykonanie takiego działania, jak uruchomienie aplikacji, w którym to przypadku wiele rozwiązań tutaj nie jest przydatnych.
Do tego lubię używać sw .
zainstalować
Stosowanie
źródło
-v
daje więcej informacjiźródło