UNIX: утилита time – опции и примеры использования

Автор: | 17/10/2013
 

terminalОписание

Утилита time запускает заданную программу и, по окончании выполнения, выводит информацию о затраченном на выполнение времени.

В результате выводится три блока данных:

real – реальное (общее) время выполнения;
user – время CPU, которое занял пользователь;
sys – время CPU, занятое системой.

Ключей у утилиты немного:

-o – записывать информацию в файл, вместо вывода в stderr;
-a – если используется ключ -o – то программа будет дописывать данные в конец файла, а не перезаписывать его;
-h – выводить информацию в “human friendly” виде;
-l – выводит информацию об resourse usage (rusage);
-p – выводит результат в POSIX.2 формате (каждое значение в новой строке).

Возможные ошибки

При использовании команды без указания полного пути – возможна ошибка вида:

# time -h ping ya.ru
bash: -h: command not found

Решение – указывать полный путь:

# which time
/usr/bin/time

# /usr/bin/time -h ping ya.ru
...
0.99s real              0.00s user              0.00s sys

Примеры выполнения

Записывать вывод в файл:

# /usr/bin/time -o time.log ping ya.ru
...

# cat time.log
1.73 real         0.00 user         0.00 sys

Выводить информацию о времени (секунды, минуты и т.д.):

# /usr/bin/time -h ping ya.ru
...
0.64s real              0.00s user              0.00s sys

Выводить полную информацию:

# /usr/bin/time -l ping ya.ru
...
0.91 real         0.00 user         0.00 sys
0  maximum resident set size
0  average shared memory size
0  average unshared data size
0  average unshared stack size
113  page reclaims
0  page faults
0  swaps
0  block input operations
0  block output operations
3  messages sent
3  messages received
1  signals received
6  voluntary context switches
3  involuntary context switches

Отображать или записывать результат в POSIX-формате:

# /usr/bin/time -p ping ya.ru
...
real 0.59
user 0.00
sys 0.00