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

Автор: | 10/17/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