Поиск по сайту:
Как я, ты был, как я, ты будешь (Г. Гимлер).

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

08.04.2020
Команда 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

 

Читать  Устранение проблем с производительностью NFS с помощью nfsiostat и nfsstat

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

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

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

 

Традиционная версия 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? Мы надеемся, что все эти советы научили вас чему-то новому.

Читать  10 полезных примеров команды Sort в Linux

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
Поделиться в соц. сетях:


0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

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


Рекомендуемое
Одним из основных шагов по усилению SSH является отключение входа…

Спасибо!

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