ALiEN175,
Безусловно, процессы могут ожидать ввода вывода. но если я правильно понимаю, то процессы в ожидании IO висят в статусе D, не прерываемый сон, а это другое.
Мне как раз механизм не понятен, почему ожидая завершения дочернего процесса, родитель утилизирует CPU.
Встречал предположения что возможно, процесс свичится с R на S, при чем происходит это довольно быстро, top не успевает показывать R, и кажется что процесс в S перманентно. Но как по мне спорно в некоторых моментах.
Тут например, процессы S утилизируют cpu наравне с R. C postgres понятно, в теории процесс может переключаться быстро, ок. А вот апач, thunderbird, так врятли сможет
Пользователь добавил сообщение 02 Июня 2023, 10:11:57:
На примере thunderbird. Похоже, действительно процесс во-первых является родителем, во вторых если понаблюдать только за ним
top -p $(pidof -s thunderbird)
, нажать и удерживать какую нибудь клавишу на клавиатуре (например И), top начинает обновляться со скоростью света, и действительно проскакивает R.
Сам top, без помощи, может обновляться не чаще 1 раза в секунду.
Пользователь добавил сообщение 02 Июня 2023, 10:12:20:
Всем спасибо!