parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

utime показывает время работы процесса...

Sumo 09.05.2021 21:13

... без времени, когда процесс простаивал или не получал квант времени от планировщика ОС. Если мы хотим посчитать полное время работы cgi-процесса, то нам надо сложить utime и stime. А вот для демона такое не пройдет — если демон заблокировался на селекте на сокете, т.е. ждет запросов по сети и у него нет никаких параллельных тредов для других задач, то у него не будет расти ни utime ни stime. Нагрузите запросами свой процесс и utime/stime будут постоянно расти.

Есть еще нюанс. Если сервер сильно нагружен кучей процессов, то посчитать корректное время запроса по utime+stime нельзя — планировщик ОС может в процессе обработки одного запроса многократно переключать ваш процесс и utime при этом будет замирать.

Поэтому если хотите универсально считать время исполнения запроса, то надо в начале скрипта сохранить tv_sec/tv_usec, а в конце посчитать разницу с текущими tv_sec/tv_usec.

p.s. https://man7.org/linux/man-pages/man2/getrusage.2.html