Как я могу измерить время выполнения терминального процесса?

Я пытаюсь измерить время выполнения процесса, который я называю через командную строку (т.е. я хочу узнать, сколько времени она берет к тому, чтобы процесс закончился). Есть ли какая-либо команда, которую я могу добавить к команде, назвав процесс, который достигнет этого?

162
задан 17 July 2011 в 07:05

7 ответов

Добавить time перед командой Вы хотите иметь размеры. Например: time ls.

Вывод будет похож:

real    0m0.606s
user    0m0.000s
sys     0m0.002s

Объяснение на real, user и sys (от man time):

  • real: Прошедший реальный (настенные часы) время, используемое процессом, в секундах.
  • user: Общее количество секунд ЦП, что процесс, используемый непосредственно (в непривилегированном режиме), в секундах.
  • sys: Общее количество секунд ЦП, используемых системой от имени процесса (в привилегированном режиме), в секундах.
201
ответ дан 22 November 2019 в 22:50

Можно использовать time:

time ls -R
26
ответ дан 22 November 2019 в 22:50
date +"%T" && cp -r ./file  /destination/folder/here && date +"%T"

Выполнение этой команды в терминале даст Вам общее время для привыкания файла

8
ответ дан 22 November 2019 в 22:50

Для линию за линией измерения дельты, попробуйте гномон.

Это - утилита командной строки, немного как ts moreutils, для предварительного ожидания информации о метке времени к стандартному выводу другой команды. Полезный для продолжительных процессов, где Вы хотели бы хронологическую запись того, что занимает много времени.

Передача по каналу чего-либо к гномону будет предварительно ожидать метку времени к каждой строке, указывая, какой длины та строка была последней строкой в буфере - то есть, сколько времени это проводило следующую строку для появления. По умолчанию гномон отобразится, секунды протекли между каждой строкой, но это настраивается.

gnomon demo

43
ответ дан 22 November 2019 в 22:50

Иногда я должен в секундомере рассчитать, сколько времени он берет для действия как моя начальная загрузка приложения, в этом случае многие решения здесь не полезны.

Для этого мне нравится использовать коротковолновый.

sw

Установка

wget -q -O - http://git.io/sinister | sh -s -- -u https://raw.githubusercontent.com/coryfklein/sw/master/sw

Использование

sw
 - start a stopwatch from 0, save start time in ~/.sw
sw [-r|--resume]
 - start a stopwatch from the last saved start time (or current time if no last saved start time exists)
 - "-r" stands for --resume
4
ответ дан 22 November 2019 в 22:50
time -v command

-v дает больше информации

1
ответ дан 22 November 2019 в 22:50

1) Откройте файл bashrc

gedit ~\.bashrc

2) Найдите следующий текст:

if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\] :\[\033[01;34m\]\w\[\033[00m\]\$ ' 

3) И замените на:

if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u\[\033[00m\] [\d|\t]:\[\033[01;34m\]\w\[\033[00m\]\$ ' 

4) Перезапустите терминал для проверки.

Вывод образца в терминале

0
ответ дан 7 March 2020 в 08:54

Другие вопросы по тегам:

Похожие вопросы: