Что означает результат выполнения команды времени?

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

time copy.sh

, который возвращает:

1.54s user 24.57s system 1% cpu 16:16.06 total

страница руководства сообщает мне следующее:

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

Что означают результаты трех результатов?

Я уверен, что общее время составляет 16 минут 16 секунд.

0
15.09.2016, 17:04
1 ответ

пользователь - это время ЦП, затраченное на пользовательское пространство, а система - время ЦП, потраченное на выполнение системных вызовов. Судя по описанию программы, неудивительно, что системное время было настолько высоким, поскольку код пользовательского пространства, вероятно, в основном просто проверяет, что read (2) и write (2) не потерпел неудачу, поскольку в этих системных вызовах происходила тяжелая работа ввода-вывода. Программа, которая обрабатывает процессор, вместо этого будет показывать низкое системное время и очень высокое время пользователя, так как для запуска программы потребуется всего несколько системных вызовов, а затем много действий пользователя с любыми вычислениями.

Если в вашей системе есть vmstat (8) , vmstat 1 - хороший способ просмотреть пользовательскую и системную статистику на уровне системы (и другие важные значения, такие как переключение контекста) ).

1
28.01.2020, 02:47

Теги

Похожие вопросы