TIME(1)

ИМЯ
time - время выполнения простой команды или получение подсказки по ресурсу

ОБЗОР
time [опции] команда [аргументы...]

ОПИСАНИЕ
Команда time запускает указанную команду с заданными аргументами. Когда команда завершается, time выводит на стандартный вывод статистическое сообщение об использованном времени при этом запуске. Эта статистика содержит (i) реальное время выполнение между вызовом и завершением, (ii) время CPU, которое занял пользователь (сумма значений tms_utime и tms_cutime в структуре struct tms , которая возвращается вызовом times(2)), и (iii) время CPU занятое системой (сумма значений tms_stime и tms_cstime в структуре struct tms , которая возвращается вызовом times(2)).

ОПЦИИ

-p  Когда используется локаль POSIX, используется точный традиционный формат
    "real %f\nuser %f\nsys %f\n"
    (с цифрами в секундах) где число разрядов в выводе для %f не задаётся, но является достаточным для точного выражения времени и по крайней мере разрядов не меньше одного.

ОКРУЖЕНИЕ
Используются переменные LANG, LC_ALL, LC_CTYPE, LC_MESSAGES, LC_NUMERIC, NLSPATH и PATH. Последняя для поиска команды. Оставшиеся используются для вывода текста и его форматирования.

КОД ВОЗВРАТА
Если команда была вызвана, то код возврата соответствует тому, который возвращает команда. В противном случае он равен 127, если команда не найдена, 126 если она найдена, но не может быть вызвана и некоторому другому отличному от нуля значению (1-125), если случились какие-либо другие ошибки.

СМОТРИ ТАКЖЕ
times(2),

ВЕРСИЯ GNU
Ниже дано описание GNU 1.7 time. Несмотря на имя утилиты, GNU выводит большое количество полезной информации, не только об использованном времени, но также и о других ресурсах, таких как памяти, ввода/вывода и вызовах IPC (там где это доступно). Вывод форматируется, используя строку форматирования, которую можно задать с помощью опции -f или переменной окружения TIME.

По умолчанию строка форматирования имеет вид:
%Uuser %Ssystem %Eelapsed %PCPU (%Xtext+%Ddata %Mmax)k
%Iinputs+%Ooutputs (%Fmajor+%Rminor)pagefaults %Wswaps

Если задана опция -p, то используется переносимый формат вывода:
real %e
user %U
sys %S

  Строка форматирования
Формат интерпретируется таким же способом как и в printf. Обычные символы просто копируются, табуляции, символы новой строки и обратная косая черта изолируются используя \t, \n и \\, знак процента указывается как %%, и наконец % указывает на преобразование следующего за ним символа. Программа time всегда будет добавлять вначале вывода новую строку. Преобразования выглядят следующим образом. Все они поддерживаются tcsh(1).

Время

%E  Фактически затраченное время (в формате [часы:]минуты:секунды).

%e  (Нет в tcsh.) Фактически затраченное время (в секундах).

%S  Общее количество секунд времени CPU, которое процесс провел в режиме ядра.

%U  Общее количество секунд времени CPU, которое процесс провел в режиме пользователя.

%P  Процент работы CPU, который был затрачен на работу этого процесса, вычисляется как (%U + %S) / %E.

Память

%M  Максимальный резидентный размер процесса в течении его выполнения в килобайтах.

%t  (Нет в tcsh.) Средний резидентный размер процесса в килобайтах.

%K  Среднее общее использование памяти (данные+стек+текст) процессом в килобайтах.

%D  Средний размер неразделяемой области данных процесса в килобайтах.

%p  (Нет в tcsh.) Средний размер неразделяемого пространства стека процесса в килобайтах.

%X  Средний размер разделяемого текста процесса в килобайтах.

%Z  (Нет в tcsh.) Размер системной страницы в байтах. Это значение является постоянным для какой-либо системы, но может меняться для разных систем.

%F  Number of major page faults that occurred while the process was running. These are faults where the page has to be read in from disk.

%R  Number of minor, or recoverable, page faults. These are faults for pages that are not valid but which have not yet been claimed by other virtual pages. Thus the data in the page is still valid but the system tables must be updated.

%W  Количество раз, которое процессор был выгружен на своппинг из основной памяти.

%c  Количество раз, которое программа попала под неплановое переключение контекста (потому что истёк выделенный ему отрезок времени).

%w  Количество ожиданий: сколько раз программа попала под неплановое переключение котекста например во время ожидания завершения операций ввода/вывода.

Ввод/вывод

%I  Количество считываний файловой системы на процесс.

%O  Количество записей в файлововую систему на процесс.

%r  Количество сообщений на сокете, принятых процессом.

%s  Количество сообщений, отправленных процессом в сокет.

%k  Количество сигналов, доставленных процессу.

%C  (Нет в tcsh.) Имя и аргументы командной строки той команды, которая была запущена.

%x  (Нет в tcsh.) Код возврата запущенной команды.

ОПЦИИ GNU

-f ФОРМАТ, --format=ФОРМАТ
    Задаёт формат вывода, этот формат перекрывает формат, заданный в переменной окружения TIME.

-p, --portability
    Использовать переносимый формат вывода.

-o ФАЙЛ, --output=ФАЙЛ
    Результат работы направлять в указанный файл, перезаписывая его, а не на стандартный вывод ошибок.

-a, --append
    (Используется совместо с -o.) Не перезаписывать файл, а дополнять его.

-v, --verbose
    Выводить подробности при работе.

СТАНДАРТНЫЕ ОПЦИИ GNU

--help
    Выдать подсказку на стандартный вывод и успешно завершиться.

--version
    Выдать информацию о версии на стандартный вывод и успешно завершиться.

--  Служит для обозначения конца списка опций.

ОШИБКИ
Не все ресурсы могут быть получены на всех версиях Unix, так некоторые значения могут быть нулевыми. То, что здесь описано в основном было основано на данных, которые предоставляет 4.2 или 4.3BSD.

Программа GNU time версии 1.7 пока не локализована. Таким образом, она не реализует требования POSIX.

Переменная окружения TIME была выбрана плохо. The environment variable TIME was badly chosen. It is not unusual for systems like autoconf or make to use environment variables with the name of a utility to override the utility to be used. Uses like MORE or TIME for options to programs (instead of program path names) tend to lead to difficulties.

It seems unfortunate that -o overwrites instead of appends. (That is, the -a option should be the default.)

Советы и сообщения об ошибках по GNU time присылайте на E-mail
bug-utils@prep.ai.mit.edu
Пожалуйста указывайте версию time , которую можно узнать, запустив
time --version
и операционную систему, а также компилятор C который вы использовали.

СМОТРИ ТАКЖЕ
tcsh(1), times(2), wait3(2)

АВТОРЫ

David Keppel
Оригинальная версия

David MacKenzie
    POSIXization, autoconfiscation, GNU getoptization, documentation, other bug fixes and improvements.

Arne Henrik Juul
    Помощь в вопросах переносимости

Francois Pinard
    Помощь в вопросах переносимости

ПЕРЕВОД
Перевёл с английского Виктор Вислобоков <corochoone@perm.ru> 2003