Kworker, что это такое и почему он так сильно загружает процессор?
Были некоторые сообщения о чрезмерной активности kworker для относительно бездействующих систем, начиная с разработки 2.6.36 ( пример обсуждения ), и широкие сообщения о путанице и проблемах с 2.6.38 (хотя многие из этих отчетов включают слово «Natty», поэтому я предполагаю, эти люди не использовали никакого ядра между 2.6.35 (распространяется в Ubuntu 10.10) и 2.6.38 (распространяется в Ubuntu 11.04).
Я нашел много сообщений о том, что «исправило» это для того или иного пользователя. Большинство «исправлений», по-видимому, связаны с обновлениями ядра различного рода. Там, где обновление можно отследить до определенной проблемы, часто оказывается, что какой-то драйвер или служба ядра были исправлены, чтобы не вести себя неправильно: у меня сложилось впечатление, что в ядре есть очень много вещей, которые могут вызвать поведение что наблюдается как чрезмерное использование kworker.
Если вы обнаружите, что система непригодна для использования из-за чрезмерной активности kworker, я бы порекомендовал попробовать сделать меньше вещей. Если вы думаете, что ничего не делаете, попробуйте отключить долго работающие службы или таймеры (устройства чтения RSS, средства чтения почты, индексаторы файлов, средства отслеживания активности и т. Д.). Если это не работает, попробуйте перезапустить. Если ваша система позволяет вам включать или отключать оборудование в предзагрузочной среде, попробуйте отключить оборудование, которое вы не используете. Если это происходит при каждом перезапуске, прежде чем что-то делать, вы можете попытаться что-то удалить, но на этом этапе вам понадобятся инструменты профилирования syscall для отслеживания определенных приложений, которые, по-видимому, вызывают эту перегрузку.
Следует надеяться, что ваша конкретная система перестанет выражать это поведение при будущем обновлении ядра (и многие из наиболее распространенных причин этого были устранены).
Что такое kworker? kworker означает процесс ядра Linux, выполняющий «работу» (обработка системных вызовов). У вас может быть несколько из них в вашем списке процессов: kworker/0:1 это на вашем первом ядре процессора, kworker/1:1 на вашем втором и т. Д.
Пример: e1000e. В моем случае я обнаружил такой след почти каждый раз:
Это намекало мне на проблему в e1000e модуле карты Ethernet, и, действительно, sudo rmmod e1000e высокая загрузка процессора сразу же исчезла [ ошибка e1000e # 26 ].
Что за процесс kworker в Linux
Что за процесс kworker в Linux
Kworker отвечает за все операции, которые выполняются на уровне ядра. Это различные таймеры, прерывания, операции ввода/вывода и так далее. Таких процессов может быть несколько для нескольких ядер процессора. Например: kworker:0, kworker:1 и так далее. Посмотреть какие процессы есть сейчас и сколько они потребляют ресурсов можно с помощью top, которую надо запустить от имени суперпользователя:
Или с помощью утилиты ps:
sudo ps aux | grep kworker
Здесь видно количество процессов и насколько kworker грузит процессор. Обычно этот процесс не связан напрямую с системными программами. Высокое потребление ресурсов могут вызвать определенные модули ядра или программы, которые заставляют ядро делать ту или иную работу. Если надо снизить нагрузку, нужно просто попросить ядро больше не делать ту работу, которую оно делает. Для этого сначала надо понять что оно делает.
Для решения этой задачи можно использовать утилиту perf. Для того чтобы установить утилиту надо знать версию ядра:
Теперь установите пакеты с инструментами для ядра этой версии:
sudo apt install linux-tools-common linux-tools-5.4.0-29-generic
Сначала запишите 10 секунд логов работы ядра. Для этого выполните:
Осталось открыть отчёт и узнать что именно перегружает систему:
Выводы
Теперь вы знаете что такое kworker и что с ним делать. Также при высоком потреблении ресурсов процессом kworker можно попробовать обновить ядро, удалить лишние программы, отключить неиспользуемое оборудование и перезагрузить компьютер.
Kworker что за процесс android
Прежде чем задавать вопросы прочитайте полностью «шапку» темы, в противном случае ваши посты могут быть оценены как оффтоп и удалены. Если после прочтения шапки у вас остались вопросы, воспользуйтесь формой написания поста в конце статьи. И не забывайте пользоваться поиском по теме, т.к. 80% вновь задаваемых вопросов уже обсуждались.
В начале рассмотрим основную и не всегда очевидную причину быстрого разряда аппарата, нарушение его «сна». Дело в том, что после отключения экрана ваш аппарат старается перейти в режим максимального энергосбережения (в так называемый «глубокий сон») в котором уменьшается частота процессора, отключаются «лишние» его ядра, максимально снижается активность приложений и т.п. (энергопотребление в таком режиме может составить всего 1-2% заряда за 8-12 часов). Однако, некоторые приложения/процессы могут выводить устройство из такого сна, пробуждая его своими запросами (так называемыми wakelock’ами), при этом они могут начать загружать процессор, использовать беспроводные сети и геолокацию по своему усмотрению, бесцеременно расходуя энергию при выключенном экране. Поэтому, для начала проверим, есть ли у вашего аппарата проблемы с режимом «сна».
Чтобы понять есть ли у аппарата проблемы с его режимом сна, после дня умеренного использования аппарата в звонилке набираем код *#*#4636#*#* (или пользуемся программой SpareParts), и смотрим пункт «Battery history» («Журнал аккумулятора» или «Журнал сведений о батарее»). Тут сводится вся информация о потреблении устройством энергии.
Активность аппарата (показатель «Running») складывается из двух составляющих, «видимой» и «невидимой».
— «Видимая» составляющая формируется из всех действий которые происходят когда экран устройства включён, соответственно она ровна показателю «Screen on».
— «Невидимая» составляющая в свою очередь формируется когда экран устройства выключен. В идеале «невидимой» активности вообще не должно быть, если же она есть, значит аппарат что-то будит когда он «спит»и на это тратится энергия заряда.
Таким образом, определить есть ли проблемы с энергопотреблением устройства в режиме «сна» можно следующем образом:
Из показателя «Running» вычитаем показатель «Screen on» и получаем ту самою «Невидимую» составляющую. Если она получается больше 10% (в идеале она должна составлять до 5%), и находится в таком состоянии несколько дней значит надо искать будящую программу способами описанными в пункте 9.
Следует учесть, что прослушивание музыки при выключенном экране, активные мэссенджеры и другие приложения работающий в фоне также увеличивает значение «невидимой» составляющей, поэтому не надо этому удивляться, это нормально. Если же вы знаете, что не используете приложения в фоновом режиме, а «невидимая» составляющая в режиме сна растёт, это верный признак того, что аппарат что-то постоянно «будит» и он не может нормально находится в режиме энергосбережения.
Если тапнуть на верхнюю часть, то мы попадём в пункт с графиками разряда. Большой график показывает динамику снижения уровня заряда аккумулятора (по оси Y- уровень заряда, по оси Х-время).












