Главная > Управление пакетами и системой > time

time: измерение времени выполнения команды и использования ресурсов

Команда time измеряет время, затраченное на выполнение заданной команды, и выводит сводный отчет об использовании системных ресурсов (время ЦП, память и т. д.). Она полезна для анализа производительности и оптимизации программ.

Обзор

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

Основные измеряемые показатели

  • Фактическое время (Real time): Реальное прошедшее время с момента запуска команды до ее завершения
  • Время ЦП пользователя (User CPU time): Время, затраченное ЦП на выполнение команды в пользовательском режиме
  • Время ЦП системы (System CPU time): Время, затраченное ЦП на выполнение команды в режиме ядра

Основные опции

Команда time позволяет управлять форматом вывода или запрашивать дополнительную информацию с помощью различных опций.

Формат вывода и управление

Сгенерированная команда:

Комбинируйте команды.

Описание:

`time` Запускает команду.

Комбинируйте эти опции, чтобы виртуально выполнять команды с помощью ИИ.

Примеры использования

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

time ls

Измеряет время выполнения команды ls.

Вывод в формате POSIX

time -p sleep 1

Выводит время выполнения команды sleep в формате, совместимом с POSIX.

Сохранение результатов измерений в файл

time -o time_output.txt -a ls -l

Сохраняет результаты измерений команды ls -l в файл time_output.txt. Вывод команды time направляется в стандартный поток ошибок, поэтому используется 2>.

Вывод в пользовательском формате

time -f "Real: %e User: %U System: %S" sleep 1.5

Выводит фактическое время, время ЦП пользователя и время ЦП системы в указанном формате.

Советы и примечания

Важные моменты и дополнительные советы при использовании команды time.

Встроенная команда time оболочки и внешняя команда time

Оболочки, такие как bash или zsh, имеют собственную встроенную команду time. Обычно она выводит только три значения: real, user, sys, и ее функциональность ограничена по сравнению с внешней командой time (/usr/bin/time). Для получения более подробной информации необходимо явно вызывать внешнюю команду time.

Явное использование внешней команды time

\time sleep 1
/usr/bin/time sleep 1

Чтобы использовать внешнюю команду time, а не встроенную команду оболочки, добавьте обратную косую черту (\time) или укажите полный путь.

Точность измерений

  • Для очень коротких команд (в миллисекундах) погрешность измерений может быть значительной.
  • Результаты измерений могут варьироваться в зависимости от текущей загрузки системы, поэтому для точных измерений рекомендуется повторять команду несколько раз и усреднять значения.

Перенаправление вывода

Вывод команды time направляется в стандартный поток ошибок (stderr). Поэтому для перенаправления результатов измерений time в файл необходимо использовать 2> или 2>>. Например, `time ls 2> time_result.txt` отобразит вывод ls на экране, а результаты time сохранит в файл.


Те же команды в категории