Команда time в Linux

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

Например, если у вас есть два разных сценария, выполняющих одну и ту же работу, и вы хотите знать, какой из них работает лучше, вы можете использовать команду Linux time, чтобы определить продолжительность выполнения каждого сценария.

Версии Time Command

Как Bash, так и Zsh, наиболее широко используемые оболочки Linux, имеют свои собственные встроенные версии команды time, которые имеют приоритет над командой времени Gnu.

Вы можете использовать команду type чтобы определить, является ли время двоичным или встроенным ключевым словом.

type time
# Bash
time is a shell keyword

# Zsh
time is a reserved word

# GNU time (sh)
time is /usr/bin/time

Чтобы использовать команду Gnu time, вам необходимо указать полный путь к двоичному файлу времени, обычно /usr/bin/time , использовать команду env или использовать начальную обратную косую черту time которая предотвращает использование обоих и встроенных модулей.

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

Использование команды времени Linux

В следующем примере мы собираемся измерить время, необходимое для загрузки ядра Linux с помощью инструмента wget :

time wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.19.9.tar.xz

То, что будет напечатано в качестве вывода, зависит от версии используемой вами команды time:

# Bash
real	0m33.961s
user	0m0.340s
sys	0m0.940s

# Zsh
0.34s user 0.94s system 4% cpu 33.961 total

# GNU time (sh)
0.34user 0.94system 0:33.96elapsed 4%CPU (0avgtext+0avgdata 6060maxresident)k
0inputs+201456outputs (0major+315minor)pagefaults 0swaps
  • реальное или общее или прошедшее (время настенных часов) — это время от начала до конца разговора. Это время с момента нажатия клавиши Enter до момента завершения команды wget .
  • user — количество процессорного времени, проведенного в пользовательском режиме.
  • system или sys — количество процессорного времени, потраченного в режиме ядра.

Выводы

К настоящему времени вы должны хорошо понимать, как использовать команду времени. Если вы хотите узнать больше о команде Gnu time, посетите страницу руководства time .

Оставьте комментарий