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

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

130
задан 17 July 2011 в 19:05

25 ответов

Для измерения дельта-строки по одной строке попробуйте gnomon.

Это утилита командной строки, немного напоминающая tututils ts, чтобы добавить информацию о метке времени к стандартным выводам другой команды. Полезно для длительных процессов, в которых вы хотели бы исторический отчет о том, что так долго. Трубопровод в gnomon добавит временную метку к каждой строке, указав, как долго эта строка была последней строкой в ​​буфере - то есть, сколько времени потребовалось, чтобы появилась следующая строка. По умолчанию gnomon будет отображать секунды, прошедшие между каждой строкой, но это настраивается.

gnomon

30
ответ дан 25 July 2018 в 21:34
  • 1
    Это довольно пятно. – Nathan Arthur 9 September 2016 в 00:53
  • 2
    (опечатка в ссылке, к счастью, URL ok). Вы можете установить его с помощью sudo npm i gnomon -g, если у вас есть npm. Не уверен, насколько хорошо он работает против «прогресса». линии, используя '\ r' (оставаясь в одной строке): в этом случае я бы хотел, чтобы все это считалось одной длинной строкой, а не отдельными. – Tomasz Gandor 15 June 2017 в 00:42
  • 3
    так что мы прокладываем его до гномона! это оно ? – Ciasto piekarz 15 May 2018 в 12:44

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

Для этого мне нравится использовать 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
3
ответ дан 25 July 2018 в 21:34

Добавить time перед командой, которую вы хотите измерить.

Выход будет выглядеть так:

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

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

real: Истекшее реальное (настенное время) время, используемое процессом, в секундах. user: Общее количество CPU-секунд, которое процесс использовал напрямую (в пользовательском режиме), в секундах. sys: общее количество секунд процессора, используемых системой от имени процесса (в режиме ядра), в секундах.
147
ответ дан 25 July 2018 в 21:34
  • 1
    @ninjalj, можете ли вы предоставить дополнительную информацию о том, что возвращаются команды real, user и sys? – Christopher Kyle Horton 18 July 2011 в 01:22
  • 2
    @JacobVlijm Этот ответ не так уж и сложный. :) Вы можете отредактировать в своем комментарии и сделать это так. – muru 13 February 2015 в 20:43
  • 3
    Обратите внимание, что вам может понадобиться sudo apt-get install time, если вы используете оболочку, где time не является встроенным. – poolie 26 October 2016 в 19:45
date +"%T" && cp -r ./file /destination/folder/here && date +"%T"

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

5
ответ дан 25 July 2018 в 21:34

Вы можете использовать time:

time ls -R
21
ответ дан 25 July 2018 в 21:34

Для измерения дельта-строки по одной строке попробуйте gnomon.

Это утилита командной строки, немного напоминающая tututils ts, чтобы добавить информацию о метке времени к стандартным выводам другой команды. Полезно для длительных процессов, в которых вы хотели бы исторический отчет о том, что так долго. Трубопровод в gnomon добавит временную метку к каждой строке, указав, как долго эта строка была последней строкой в ​​буфере - то есть, сколько времени потребовалось, чтобы появилась следующая строка. По умолчанию gnomon будет отображать секунды, прошедшие между каждой строкой, но это настраивается.

gnomon

30
ответ дан 2 August 2018 в 03:12
  • 1
    Это довольно пятно. – Nathan Arthur 9 September 2016 в 00:53
  • 2
    (опечатка в ссылке, к счастью, URL ok). Вы можете установить его с помощью sudo npm i gnomon -g, если у вас есть npm. Не уверен, насколько хорошо он работает против «прогресса». линии, используя '\ r' (оставаясь в одной строке): в этом случае я бы хотел, чтобы все это считалось одной длинной строкой, а не отдельными. – Tomasz Gandor 15 June 2017 в 00:42
  • 3
    так что мы прокладываем его до гномона! это оно ? – Ciasto piekarz 15 May 2018 в 12:44

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

Для этого мне нравится использовать 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
3
ответ дан 2 August 2018 в 03:12

Добавить time перед командой, которую вы хотите измерить.

Выход будет выглядеть так:

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

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

real: Истекшее реальное (настенное время) время, используемое процессом, в секундах. user: Общее количество CPU-секунд, которое процесс использовал напрямую (в пользовательском режиме), в секундах. sys: общее количество секунд процессора, используемых системой от имени процесса (в режиме ядра), в секундах.
149
ответ дан 2 August 2018 в 03:12
  • 1
    @ninjalj, можете ли вы предоставить дополнительную информацию о том, что возвращаются команды real, user и sys? – Christopher Kyle Horton 18 July 2011 в 01:22
  • 2
    @JacobVlijm Этот ответ не так уж и сложный. :) Вы можете отредактировать в своем комментарии и сделать это так. – muru 13 February 2015 в 20:43
  • 3
    Обратите внимание, что вам может понадобиться sudo apt-get install time, если вы используете оболочку, где time не является встроенным. – poolie 26 October 2016 в 19:45
date +"%T" && cp -r ./file /destination/folder/here && date +"%T"

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

5
ответ дан 2 August 2018 в 03:12

Вы можете использовать time:

time ls -R
21
ответ дан 2 August 2018 в 03:12

Для измерения дельта-строки по одной строке попробуйте gnomon.

Это утилита командной строки, немного напоминающая tututils ts, чтобы добавить информацию о метке времени к стандартным выводам другой команды. Полезно для длительных процессов, в которых вы хотели бы исторический отчет о том, что так долго. Трубопровод в gnomon добавит временную метку к каждой строке, указав, как долго эта строка была последней строкой в ​​буфере - то есть, сколько времени потребовалось, чтобы появилась следующая строка. По умолчанию gnomon будет отображать секунды, прошедшие между каждой строкой, но это настраивается.

gnomon

31
ответ дан 4 August 2018 в 19:05
  • 1
    Это довольно пятно. – Nathan Arthur 9 September 2016 в 00:53
  • 2
    (опечатка в ссылке, к счастью, URL ok). Вы можете установить его с помощью sudo npm i gnomon -g, если у вас есть npm. Не уверен, насколько хорошо он работает против «прогресса». линии, используя '\ r' (оставаясь в одной строке): в этом случае я бы хотел, чтобы все это считалось одной длинной строкой, а не отдельными. – Tomasz Gandor 15 June 2017 в 00:42
  • 3
    так что мы прокладываем его до гномона! это оно ? – Ciasto piekarz 15 May 2018 в 12:44

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

Для этого мне нравится использовать 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
3
ответ дан 4 August 2018 в 19:05

Добавить time перед командой, которую вы хотите измерить.

Выход будет выглядеть так:

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

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

real: Истекшее реальное (настенное время) время, используемое процессом, в секундах. user: Общее количество CPU-секунд, которое процесс использовал напрямую (в пользовательском режиме), в секундах. sys: общее количество секунд процессора, используемых системой от имени процесса (в режиме ядра), в секундах.
149
ответ дан 4 August 2018 в 19:05
  • 1
    @ninjalj, можете ли вы предоставить дополнительную информацию о том, что возвращаются команды real, user и sys? – Christopher Kyle Horton 18 July 2011 в 01:22
  • 2
    @JacobVlijm Этот ответ не так уж и сложный. :) Вы можете отредактировать в своем комментарии и сделать это так. – muru 13 February 2015 в 20:43
  • 3
    Обратите внимание, что вам может понадобиться sudo apt-get install time, если вы используете оболочку, где time не является встроенным. – poolie 26 October 2016 в 19:45
date +"%T" && cp -r ./file /destination/folder/here && date +"%T"

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

5
ответ дан 4 August 2018 в 19:05

Вы можете использовать time:

time ls -R
21
ответ дан 4 August 2018 в 19:05

Для измерения дельта-строки по одной строке попробуйте gnomon.

Это утилита командной строки, немного напоминающая tututils ts, чтобы добавить информацию о метке времени к стандартным выводам другой команды. Полезно для длительных процессов, в которых вы хотели бы исторический отчет о том, что так долго. Трубопровод в gnomon добавит временную метку к каждой строке, указав, как долго эта строка была последней строкой в ​​буфере - то есть, сколько времени потребовалось, чтобы появилась следующая строка. По умолчанию gnomon будет отображать секунды, прошедшие между каждой строкой, но это настраивается.

gnomon

31
ответ дан 6 August 2018 в 03:23
  • 1
    Это довольно пятно. – Nathan Arthur 9 September 2016 в 00:53
  • 2
    (опечатка в ссылке, к счастью, URL ok). Вы можете установить его с помощью sudo npm i gnomon -g, если у вас есть npm. Не уверен, насколько хорошо он работает против «прогресса». линии, используя '\ r' (оставаясь в одной строке): в этом случае я бы хотел, чтобы все это считалось одной длинной строкой, а не отдельными. – Tomasz Gandor 15 June 2017 в 00:42
  • 3
    так что мы прокладываем его до гномона! это оно ? – Ciasto piekarz 15 May 2018 в 12:44

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

Для этого мне нравится использовать 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
3
ответ дан 6 August 2018 в 03:23

Добавить time перед командой, которую вы хотите измерить.

Выход будет выглядеть так:

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

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

real: Истекшее реальное (настенное время) время, используемое процессом, в секундах. user: Общее количество CPU-секунд, которое процесс использовал напрямую (в пользовательском режиме), в секундах. sys: общее количество секунд процессора, используемых системой от имени процесса (в режиме ядра), в секундах.
149
ответ дан 6 August 2018 в 03:23
  • 1
    @ninjalj, можете ли вы предоставить дополнительную информацию о том, что возвращаются команды real, user и sys? – Christopher Kyle Horton 18 July 2011 в 01:22
  • 2
    @JacobVlijm Этот ответ не так уж и сложный. :) Вы можете отредактировать в своем комментарии и сделать это так. – muru 13 February 2015 в 20:43
  • 3
    Обратите внимание, что вам может понадобиться sudo apt-get install time, если вы используете оболочку, где time не является встроенным. – poolie 26 October 2016 в 19:45
date +"%T" && cp -r ./file /destination/folder/here && date +"%T"

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

5
ответ дан 6 August 2018 в 03:23

Вы можете использовать time:

time ls -R
21
ответ дан 6 August 2018 в 03:23

Для измерения дельта-строки по одной строке попробуйте gnomon.

Это утилита командной строки, немного напоминающая tututils ts, чтобы добавить информацию о метке времени к стандартным выводам другой команды. Полезно для длительных процессов, в которых вы хотели бы исторический отчет о том, что так долго. Трубопровод в gnomon добавит временную метку к каждой строке, указав, как долго эта строка была последней строкой в ​​буфере - то есть, сколько времени потребовалось, чтобы появилась следующая строка. По умолчанию gnomon будет отображать секунды, прошедшие между каждой строкой, но это настраивается.

gnomon

31
ответ дан 7 August 2018 в 21:09
  • 1
    Это довольно пятно. – Nathan Arthur 9 September 2016 в 00:53
  • 2
    (опечатка в ссылке, к счастью, URL ok). Вы можете установить его с помощью sudo npm i gnomon -g, если у вас есть npm. Не уверен, насколько хорошо он работает против «прогресса». линии, используя '\ r' (оставаясь в одной строке): в этом случае я бы хотел, чтобы все это считалось одной длинной строкой, а не отдельными. – Tomasz Gandor 15 June 2017 в 00:42
  • 3
    так что мы прокладываем его до гномона! это оно ? – Ciasto piekarz 15 May 2018 в 12:44

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

Для этого мне нравится использовать 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
3
ответ дан 7 August 2018 в 21:09

Добавить time перед командой, которую вы хотите измерить.

Выход будет выглядеть так:

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

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

real: Истекшее реальное (настенное время) время, используемое процессом, в секундах. user: Общее количество CPU-секунд, которое процесс использовал напрямую (в пользовательском режиме), в секундах. sys: общее количество секунд процессора, используемых системой от имени процесса (в режиме ядра), в секундах.
149
ответ дан 7 August 2018 в 21:09
  • 1
    @ninjalj, можете ли вы предоставить дополнительную информацию о том, что возвращаются команды real, user и sys? – Christopher Kyle Horton 18 July 2011 в 01:22
  • 2
    @JacobVlijm Этот ответ не так уж и сложный. :) Вы можете отредактировать в своем комментарии и сделать это так. – muru 13 February 2015 в 20:43
  • 3
    Обратите внимание, что вам может понадобиться sudo apt-get install time, если вы используете оболочку, где time не является встроенным. – poolie 26 October 2016 в 19:45
date +"%T" && cp -r ./file /destination/folder/here && date +"%T"

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

5
ответ дан 7 August 2018 в 21:09

Вы можете использовать time:

time ls -R
21
ответ дан 7 August 2018 в 21:09

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

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