Команда time является одной из менее известных команд Linux, но ее можно использовать, чтобы показать, сколько времени занимает выполнение команды.
Это полезно, если вы разработчик и хотите проверить производительность своей программы или скрипта.
В этом руководстве будут перечислены основные переключатели, которые вы будете использовать с командой time, а также их значения.
Как использовать команду времени
Синтаксис команды времени следующий:
время
Например, вы можете запустить команду ls, чтобы вывести список всех файлов в папке в длинном формате вместе с командой time.
time ls -l
Результаты команды time будут следующими:
реальный 0m0.177s
пользователь 0m0.156s
sys 0m0.020s
Показанная статистика показывает общее время, затраченное на выполнение команды, количество времени, проведенное в пользовательском режиме, и количество времени, проведенное в режиме ядра.
Если у вас есть программа, которую вы написали, и вы хотите работать над производительностью, вы можете запускать ее вместе с командой time снова и снова и пытаться улучшить статистику.
По умолчанию выходные данные отображаются в конце программы, но, возможно, вы хотите, чтобы выходные данные переходили в файл.
Для вывода формата в файл используйте следующий синтаксис:
time -o
time --output =
Все переключатели для команды времени должны быть указаны до команды, которую вы хотите запустить.
Если вы настраиваете производительность, вы можете добавлять вывод команды времени в один и тот же файл снова и снова, чтобы вы могли видеть тренд.
Для этого используйте вместо этого следующий синтаксис:
время -a
время --append
Форматирование вывода команды времени
По умолчанию вывод выглядит следующим образом:
реальный 0m0.177s
пользователь 0m0.156s
sys 0m0.020s
Существует большое количество параметров форматирования, как показано в следующем списке
- C – Имя и аргументы командной строки, используемые
- D – средний размер неразделенной области данных процесса в килобайтах
- E – истекшее время в формате часов
- F – Количество ошибок страницы
- I – Количество входов файловой системы процессом
- K – среднее суммарное использование памяти процессом в килобайтах
- M – максимальный размер резидентной установки процесса в течение жизни в килобайтах
- O – Количество выходов файловой системы процессом
- P – процент CPU, полученный заданием
- R – количество мелких или восстанавливаемых ошибок страницы
- S – общее количество секунд процессора, используемых системой в режиме ядра
- U – общее количество секунд процессора, используемых в пользовательском режиме
- W – количество раз, когда процесс был выгружен из основной памяти
- X – среднее количество общего текста в процессе
- Z – размер страницы системы в килобайтах
- c – Количество раз, когда процесс был переключен контекст
- e – истекшее реальное время, использованное процессом в секундах
- k – количество сигналов, доставленных в процесс
- p – средний размер неразделенного стека процесса в килобайтах
- r – количество сообщений сокета, полученных процессом
- s – количество сообщений сокета, отправленных процессом
- t – средний размер резидентного набора процесса в килобайтах
- w – количество времени, когда процесс добровольно переключался
- x – выход из команды
Вы можете использовать переключатели форматирования следующим образом:
time -f "Истекшее время =% E, входы% I, выходы% O"
Вывод для приведенной выше команды будет выглядеть примерно так:
Истекшее время = 0:01:00, входы 2, выходы 1
Вы можете смешивать и сочетать переключатели по мере необходимости.
Если вы хотите добавить новую строку как часть строки формата, используйте символ новой строки следующим образом:
time -f "Истекшее время =% E \ n Входы% I \ n Выходы% O"
Резюме
Чтобы узнать больше о команде time, прочитайте страницу руководства Linux, выполнив следующую команду:
человек время
Переключатель формата не работает сразу в Ubuntu. Вам нужно выполнить команду следующим образом:
/usr/bin/time