Kworker что за процесс linux
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, что это такое и почему он забивает так много процессора?
6 ответов
Я нашел много сообщений о том, что «исправлено» для того или иного пользователя. Большинство «исправлений», похоже, связаны с обновлениями ядра различного рода. Если обновление можно отследить по конкретной проблеме, часто кажется, что некоторые драйверы или службы ядра были исправлены, чтобы не ошибиться: у меня сложилось впечатление, что в ядре очень много вещей, которые могут вызвать поведение который наблюдается как чрезмерное использование kworker.
Если вы обнаружите, что система недоступна из-за чрезмерной активности kworker, я бы рекомендовал попробовать сделать меньше. Если вы считаете, что ничего не делаете, попробуйте отключить долговременные службы или таймеры (RSS-ридеры, почтовые программы, файловые индексы, отслеживания активности и т. Д.). Если это не работает, попробуйте перезапустить. Если ваша система позволяет включать или отключать оборудование в среде предварительной загрузки, попробуйте отключить оборудование, которое вы не используете. Если это произойдет при каждом перезапуске, прежде чем что-либо сделать, вы можете попробовать удалить все, но в этот момент вы захотите использовать инструменты профилирования syscall для отслеживания определенных приложений, которые, как представляется, вызывают эту перегрузку.
Следует надеяться, что ваша конкретная система перестанет выражать это поведение с будущим обновлением ядра (и многие из наиболее распространенных причин этого были решены).
Пример: e1000e. В моем случае я нашел такую обратную линию почти каждый раз:
Запишите около 10 секунд обратных отображений на всех ваших процессорах:
Проанализируйте свою запись:
Просто чтобы все знали. Я столкнулся с этой проблемой, установил perf (это отличный инструмент), он указал на блокировку спина и XFS. Это указывало на NFS. Тогда я понял, что один из моих монстров был вне космоса. Освобождение пространства привело к тому, что CPU kworker упал до 0.
По-видимому, это может быть симптомом исчерпания пространства на занятом сервере NFS!
Недавно я установил Ubuntu Natty на внешний диск usb wd. Когда я начинаю на своем рабочем столе, которому около двух лет, все работает как шарм. Когда я запускаю свой новый ноутбук (MSI gt680r system), он замедляется после того, как я просыпаюсь с компьютера из сна или если я подключаю другой USB-диск.
Процессы Kworker принимают все больше и больше CPU, и мышь время от времени зависает.
Я читал несколько решений на разных форумах, которые не работали.
Я вошел в BIOS моего ноутбука, где был:
, и с тех пор он больше не замерзает на natty на моем ноутбуке.
Я бы включил функцию обратной связи, если и когда проблема будет исправлена.
Что за процесс 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, что это такое и почему он забивает так много CPU?
6 ответов
Я нашел много сообщений о том, что «исправлено» для того или иного пользователя. Большинство «исправлений», похоже, связаны с обновлениями ядра различного рода. Если обновление можно отследить по конкретной проблеме, часто кажется, что некоторые драйверы или службы ядра были исправлены, чтобы не ошибиться: у меня сложилось впечатление, что в ядре очень много вещей, которые могут вызвать поведение который наблюдается как чрезмерное использование kworker.
Если вы обнаружите, что система недоступна из-за чрезмерной активности kworker, я бы рекомендовал попробовать сделать меньше. Если вы считаете, что ничего не делаете, попробуйте отключить долговременные службы или таймеры (RSS-ридеры, почтовые программы, файловые индексы, отслеживания активности и т. Д.). Если это не работает, попробуйте перезапустить. Если ваша система позволяет включать или отключать оборудование в среде предварительной загрузки, попробуйте отключить оборудование, которое вы не используете. Если это произойдет при каждом перезапуске, прежде чем что-либо сделать, вы можете попробовать удалить все, но в этот момент вы захотите использовать инструменты профилирования syscall для отслеживания определенных приложений, которые, как представляется, вызывают эту перегрузку.
Следует надеяться, что ваша конкретная система перестанет выражать это поведение с будущим обновлением ядра (и многие из наиболее распространенных причин этого были решены).
Пример: e1000e. В моем случае я нашел такую обратную линию почти каждый раз:
Он намекнул мне на проблему в модуле карты e1000e Ethernet, и действительно, sudo rmmod e1000e сильно снизили загрузку процессора [ e1000e ошибка # 26 ].
Запишите около 10 секунд обратных отображений на всех ваших процессорах:
Проанализируйте свою запись:
Странная активность kworker’а.
После обновления ядра до версии 3.10.7 kworker/1:1 и kworker/1:2 подают признаки активности в простое. Жесткий диск периодически похрустывает. По показаниям itop раз в секунду обращаются к жесткому диску. На версии 3.8.13 активности в простое нет.
Как остановить это дискоубиение?
kworker никак не убьешь, это ядро.
Знаю, что ядро. Думал что убив его, система в poweroff пойдет.
Знаю, что ядро. Думал что убив его, система в poweroff пойдет.
Если смотреть через top или мониторить ps, kworker/1:1 практически неактивен. А в itop постоянно скачет в районе
Какой дистрибутив? Не знаю с чем связана такая активность, смотри на другом ПК с таким же дистром.
создай два файла в /etc/local.d/ с одинаковым содержанием:
ребутни машину и протестируй.
какое имеет отношение поведение определенной ревизии ядра на конкретном железе, к тестированию дистрибутива линукса на другом железе? где логика?
kworker на любом, ЕМНИП, ядре постоянно практически ежесекундно подает признаки I/O.
Просто с кворкером существует другой известный и как-бы пофикшенный, но всё-таки довольно часто всплываемый баг дёргать CPU без причины, точнее причина тому прерывания, но очевидно это не твой случай.
Ты случайно не путаешь в показаниях iotop’а, т.к. возможно не kworker дёргает ФС, а журнал: процесс [jbd2/sda1-8], например. Просто iotop на питоне и показывает не в реальном времени, т.е. после звука идёт небольшая задержка.
Но зачем нужна эта (возможно лишняя) активность?
это ядро, оно работает 🙂
а пишется у тебя скорее всего журнал, смотри в эту сторону.
Спасибо за помощь, буду смотреть в сторону журнала.