Отслеживание времени выполнения команд с помощью утилиты time
Утилита time измеряет время выполнения отдельной программы и затраченное на ее выполнение время ЦП.
time позволяет просмотреть параметры производительности отдельной программы и ее дочерних процессов, работающих в синхронном режиме. Она показывает время, прошедшее с момента запуска до завершения работы программы, то есть фактическое время. Кроме того, она показывает, сколько времени процессор затратил на выполнение этой программы. Время процессора делится на две категории: пользовательское и системное.
Пользовательское время - это время выполнения самой программы и всех вызовов библиотечных функций. Системное время - это время обработки вызванных программой (напрямую или косвенно) системных процедур и функций.
В сумме пользовательское и системное время дают общее время процессора, затраченное на выполнение программы. Сюда не входит обработка процессором компонентов ядра, которые могут быть запущены в ходе выполнения программы, но в настоящее время не запущены в данной нити. Например, захват страниц физической памяти для замещения страниц, полученных из списка свободных страниц при запуске программы, не учитывается при подсчете времени процессора, затраченного на выполнение программы.
$ man 1 time
Если вы используете командной оболочки Основы BASH скрипты, циклы, горячие клавиши, то вы должны помнить, что в bash существует одноименная функция time. И значит, в случае оболочки bash необходимо использовать явный путь для запуска /usr/bin/time .
Найти путь к истинной команду time
$ which time /usr/bin/time
Примеры использования утилиты time
Для вывода реального физического времени, которое прошло с момента запуска команды до момента её выполнения используйте утилиты time с отформатированным выводом
# /usr/bin/time -f %E wc /var/log/syslog 1>/dev/null 0:00.02
-f %E — задает формат вывода для time (E = реальное время, % — метасимвол).
Вывод time утилиты для bash:
# time cat /var/log/syslog
real 0m0.158s
user 0m0.000s
sys 0m0.015s
где,
- real - реальное время выполнение между вызовом и завершением утилиты cat
- user - время CPU, которое занял пользователь
- sys - время CPU занятое системой
ключ -p заставляет использовать традиционный формат времени (с цифрами в секундах)
# time -p cat /var/log/syslog real 0.04 user 0.01 sys 0.00
Записывать вывод в файл time.log:
$ /usr/bin/time -o time.log ping wow2.top ... # cat time.log 0.00user 0.00system 0:05.56elapsed 0%CPU (0avgtext+0avgdata 2804maxresident)k 568inputs+0outputs (3major+137minor)pagefaults 0swaps
📌 Для тестирования скриптов, установщиков VPN, Python ботов рекомендуем использовать надежные VPS на короткий срок. Если вам нужна помощь с более сложными задачами, вы можете найти фрилансера, который поможет с настройкой. Узнайте больше о быстрой аренде VPS для экспериментов и о фриланс-бирже для настройки VPS, WordPress. 📌
💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!
7 Самых Популярных Статей
- Как запустить скрипты и веб-приложения на Python
- Что такое страны TIER 1,2,3
- 7 способов сравнения файлов по содержимому в Windows или Linux
- Установка и тестирование веб-панели HestiaCP
- Китайский VPN Shadowsocks простая установка и настройка
- top, htop, atop определение загрузки ОС (Load average, LA)
- Использование rsync в примерах