Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: sleep-процессы утилизируют CPU  (Прочитано 24291 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн oS_a

  • Автор темы
  • Участник
  • *
  • Сообщений: 224
    • Просмотр профиля
sleep-процессы утилизируют CPU
« : 01 Июня 2023, 17:19:40 »
Привет.
Запускаю top - 1 процесс Run (сам top), остальные Sleep. некоторые в состоянии sleep утилизируют CPU. Почему процессы в состоянии sleep занимают процессорное время?
На сколько я понимаю, процесс в состоянии sleep бездействует, либо ожидает чье-либо действие. Почему тогда значение %CPU процессов в sleep не пустые?

PepperNix

  • Гость
Re: sleep-процессы утилизируют CPU
« Ответ #1 : 01 Июня 2023, 17:49:57 »
Для кого интересуемся ? Ожидать наверно можно активно , можно например перебирать что нибудь и ждать откуда прилетит.

Оффлайн mahinist

  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 3861
  • Ubuntu-20.04, Archlinux, Blackarchlinux, Gentoo
    • Просмотр профиля
Re: sleep-процессы утилизируют CPU
« Ответ #2 : 01 Июня 2023, 17:55:32 »
oS_a, Вроде не новичок - Читать
31-регион

Оффлайн oS_a

  • Автор темы
  • Участник
  • *
  • Сообщений: 224
    • Просмотр профиля
Re: sleep-процессы утилизируют CPU
« Ответ #3 : 02 Июня 2023, 08:13:53 »
Для кого интересуемся
Для себя. Сейчас обратил внимание на сей факт. Возник вопрос: "Почему так"?
Почитал разные источники, в них указано что спящие процессы не обращаются к CPU ни как. На деле же вижу иное.

Вроде не новичок
Понять и простить. Поиском пользовался, тему и описание пытался максимально информативно, но без лишней информации, как то версия дистрибутива или версия top, ведь я более чем уверен подобное наблюдается на любой из адекватных версий ubuntu. Тут вопрос больше теоретический, без привязки к конкретному софту. Или вы о другом?

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 6691
  • 20% Cooler
    • Просмотр профиля
Re: sleep-процессы утилизируют CPU
« Ответ #4 : 02 Июня 2023, 08:23:24 »
в них указано что спящие процессы не обращаются к CPU ни как.
Вообще что-ли отдельно живут в параллельной вселенной? Ну так-то всем sleep на Pentium I - и даже киберпанк можно запустить, оно ж к CPU никак не обращается.  :)
 

Пользователь добавил сообщение 02 Июня 2023, 08:26:39:
Спящие процессы просто могут ожидать ввода/вывода, завершения дочернего процесса либо чего-то еще.
Соответственно, никак не означает, что они вообще не обращаются к CPU.
« Последнее редактирование: 02 Июня 2023, 08:31:02 от ALiEN175 »
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн oS_a

  • Автор темы
  • Участник
  • *
  • Сообщений: 224
    • Просмотр профиля
Re: sleep-процессы утилизируют CPU
« Ответ #5 : 02 Июня 2023, 09:54:27 »
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:
Всем спасибо!
« Последнее редактирование: 02 Июня 2023, 10:12:20 от oS_a »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28358
    • Просмотр профиля
Re: sleep-процессы утилизируют CPU
« Ответ #6 : 02 Июня 2023, 10:27:27 »
Да, top и прочие считывают снапшот состояния системы, а не постоянно мониторят активность. Поэтому велика вероятность, что именно в этот момент большинство процессов "спит", ожидая действий пользователя. Иная картина может быть на сервере, активно выполняющем свои непосредственные задачи. Там процессор по жизни забит под завязку.

Кстати, советую обратить внимание на htop - намного удобнее в смысле наблюдения за системой.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

 

Страница сгенерирована за 0.036 секунд. Запросов: 22.