Логотип

Проверьте, как долго запускается скрипт Bash с командой Time

Команда time в Linux

Это простая команда, которая измеряет … как вы уже догадались, время. Это не приложение часов, хотя. Эта команда измеряет время, затраченное на запуск программы или сценария.

destroyer@andreyex:~$ time ./script.sh
real 0m15.010s
user 0m0.003s
sys 0m0.005s

 

Мы объясним команду времени и ее вывод через минуту.

Есть несколько разных версий утилиты time. Здесь мы рассмотрим версию Bash, поскольку она наиболее вероятна в вашей системе. Существует также версия Zsh и версия GNU.

Давайте избежим путаницы и проверим вашу версию сейчас.

destroyer@andreyex:~$ type time
time is a shell keyword

 

Если ваш вывод выглядит так, это прекрасно. Это означает, что вы используете Bash. Команда выполняет одну и ту же задачу на всех своих итерациях, поэтому, если вы не используете bash, не бойтесь, вы все равно сможете понять, что происходит. Тем не менее, это может выглядеть совсем по-другому.

 

Используя команду time

Команда time измеряет следующее:

  • в режиме реального времени: общее время истекло
  • пользователь: обработка ОС в пользовательском режиме
  • sys: обработка ОС в режиме ядра

Он может быть использован с любой командой или переданными командами.

 

Время с текстовым приложением

Давайте посмотрим на пример с nano. Nano — это текстовый редактор на основе терминала. Если мы запускаем nano, а затем быстро завершаем его работу через приложение (Ctrl + X*), вывод будет выглядеть так:

time nano
real    0m1.465s
user    0m0.031s
sys        0m0.006s

 

Время с приложением GUI

Это также работает с приложением GUI. Выходные данные будут возвращены после нормального выхода из приложения или при вводе прерывания (CTRL + C) на терминале.

time firefox
real    0m6.784s
user    0m4.962s
sys        0m0.459s

 

Читать  10 основных вопросов и ответов на собеседовании по Linux — часть 4

Традиционная версия GNU

Как мы уже говорили ранее, большинство пользователей Linux используют Bash, который, по сути, использует ярлык для создания удобочитаемого контента. Вы можете запустить полную версию GNU, используя escape-символ \. Это обойдет встроенный ярлык.

На этот раз мы просто используем команду sleep, чтобы создать фиктивную работу. Число — это продолжительность в секундах. Вы также увидите, как это отражается в реальном времени на выходе.

Обратите внимание, что, поскольку это фиктивная задача, на нее не выделяется фактическое время ресурсов.

destroyer@andreyex:~$ \time sleep 3
0.00user 0.00system 0:03.00elapsed 0%CPU (0avgtext+0avgdata 1944maxresident)k
0inputs+0outputs (0major+75minor)pagefaults 0swaps

 

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

 

Время GNU -p = (bash) время

Вывод, который вы обычно видите в версии bash, похож на псевдоним времени GNU, запускаемый с опцией -p.

destroyer@andreyex:~$ \time -p sleep 5
real 5.00
user 0.00
sys 0.00

 

Как видите, это дает нам тот же вывод, как если бы мы запускали его с помощью ярлыка bash.

 

Вывод

Вам понравился наш путеводитель по time? Мы надеемся, что все эти советы научили вас чему-то новому.

Если вам нравится эта статья, пожалуйста, поделитесь им в социальных сетях. Если у вас есть какие-либо комментарии или вопросы, оставьте их ниже. Если у вас есть предложения по темам, которые вы бы хотели охватить, не стесняйтесь также оставлять их. Спасибо за прочтение.

Редактор: AndreyEx

Рейтинг: 4.5 (2 голоса)
Если статья понравилась, то поделитесь ей в социальных сетях:

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

7 + одиннадцать =

Это может быть вам интересно


Спасибо!

Теперь редакторы в курсе.

Прокрутить страницу до начала