что такое kworker в ubuntu
Что за процесс 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, что это такое и почему он так сильно загружает процессор?
Были некоторые сообщения о чрезмерной активности 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, what is it and why is it hogging so much CPU?
I recently upgraded to the Kubuntu Natty Beta 1 and I’ve been having a lot of issues with the process kworker. At moments it uses almost half my CPU. Also, strangely enough it seems to affect my USB ports; whenever I plug in an USB drive, the process kworker goes into hyperdrive, leaving me unable to work.
I have thought about filing a bug but since I haven’t even found any reasonable explanation on what kworker is I figured I should find out first.
6 Answers 6
«kworker» is a placeholder process for kernel worker threads, which perform most of the actual processing for the kernel, especially in cases where there are interrupts, timers, I/O, etc. These typically correspond to the vast majority of any allocated «system» time to running processes. It is not something that can be safely removed from the system in any way, and is completely unrelated to nepomuk or KDE (except in that these programs may make system calls, which may require the kernel to do something).
There were some reports of excessive kworker activity for relatively idle systems starting during 2.6.36 development (example discussion), and wide reports of confusion and problems with 2.6.38 (although many of these reports include the word «Natty», so I presume these people not to have used any kernel between 2.6.35 (distributed in Ubuntu 10.10) and 2.6.38 (distributed in Ubuntu 11.04).
I’ve found many reports of something that «fixed» this for one or another user. Most «fixes» seem to be related to updates of the kernel of various sorts. Where the update can be tracked to a specific issue, it seems to often be some driver or kernel service that has been patched to not misbehave: I have the impression that there are a very large number of things in the kernel that can cause a behaviour which is observed as excessive kworker usage.
If you find the system unusable due to excessive kworker activity, I would recommend trying to do fewer things. If you think you’re not doing anything, try shutting down long-running services or timers (RSS readers, mail readers, file indexers, activity trackers, etc.). If this doesn’t work, try restarting. If your system allows you to enable or disable hardware in a pre-boot environment, try turning off hardware you aren’t using. If it happens on every restart before you do anything, you could try uninstalling things, but at this point you’ll want to be running syscall profiling tools to track down specific applications that seem to be causing this overload.
It is to be hoped that your specific system will stop expressing this behaviour with a future kernel upgrade (and many of the most common causes of this have been solved).
Kworker, что это такое и зачем он заграбастал столько ЦП?
Я недавно обновлен до версии Нэтти бета-1 и я’вэ было много проблем с процессом kworker. В моменты он использует почти половину моего процессора. Также, как ни странно, это, кажется, затрагивает мои USB-порты; всякий раз, когда я подключить USB-накопитель, процесс kworker уходит в гипердрайв, и я не мог работать.
Я думал о подаче ошибка, но, поскольку я не’т даже найти какого-либо разумного объяснения о том, что kworker я полагал, что я должен выяснить в первую очередь.
на «kworker» это процесс, заполнитель для ядра рабочих потоков, которые выполняют большую часть обработки для ядра, особенно в тех случаях, когда нет прерываний, таймеры, подсистема ввода/вывода и т. д. Они, как правило, соответствуют подавляющее большинство все выделенные на «Система» Время на выполнение процессов. Это не то, что можно безопасно удалить из системы любым способом, и совершенно не связан с Непомуцкого или KDE (кроме того, что эти программы могут делать системные вызовы, которые могут потребовать ядре что-то делать).
Там были некоторые сообщения о чрезмерной активности kworker относительно простоя систем при 2.6.36 развития (пример обсуждение), и широкий доклады путаницы и проблем с 2.6.38 (хотя многие из этих отчетов содержат слово на «нарядные» и, я полагаю, эти люди не воспользовались любого ядра между 2.6.35 (распределенных в Ubuntu 10.10) и 2.6.38 (распределенных в Ubuntu 11.04).
Я’вэ нашел много сообщений о том, что то, что «фиксированный» Эта для того или иного пользователя. Самого «исправления» по-видимому, связанные с обновлением ядра различных сортов. Где обновление может быть привязан к конкретной проблеме, он, кажется, часто будет какой-то драйвер или ядро услуги, уже исправленный, чтобы не безобразничай: у меня впечатление, что есть очень большое количество вещей в ядре, которые могут вызвать поведение, которое наблюдается как чрезмерное использование kworker.
Если вы найдете систему в негодность из-за чрезмерной активности kworker, я рекомендую делать меньше вещей. Если вы думаете, что вы’вэ ничего не делать, попробуйте выключить длительных услуг или таймеры (RSS читателей, почты, файл индексов, активность трекеры и т. д.). Если это не’т работу, попробуйте перезагрузить. Если ваша система позволяет вам включить или отключить аппаратное в предзагрузочной среде, попробуйте отключить аппаратное вы’t использование. Если это происходит на каждой перезагрузки, прежде чем что-либо делать, можно попробовать удалить вещи, но в этот момент Вы’ll хочу быть запущена системного вызова инструменты профилирования отследить конкретные приложения, которые, кажется, быть причиной такой перегрузки.
Хотелось бы надеяться, что вашей конкретной системы перестанет выражая это поведение с будущим обновлением ядра (и многие из самых распространенных причин этого были решены).
Kworker, что это такое и почему он забивает так много CPU?
6 ответов
Я нашел много сообщений о том, что «исправлено» для того или иного пользователя. Большинство «исправлений», похоже, связаны с обновлениями ядра различного рода. Если обновление можно отследить по конкретной проблеме, часто кажется, что некоторые драйверы или службы ядра были исправлены, чтобы не ошибиться: у меня сложилось впечатление, что в ядре очень много вещей, которые могут вызвать поведение который наблюдается как чрезмерное использование kworker.
Если вы обнаружите, что система недоступна из-за чрезмерной активности kworker, я бы рекомендовал попробовать сделать меньше. Если вы считаете, что ничего не делаете, попробуйте отключить долговременные службы или таймеры (RSS-ридеры, почтовые программы, файловые индексы, отслеживания активности и т. Д.). Если это не работает, попробуйте перезапустить. Если ваша система позволяет включать или отключать оборудование в среде предварительной загрузки, попробуйте отключить оборудование, которое вы не используете. Если это произойдет при каждом перезапуске, прежде чем что-либо сделать, вы можете попробовать удалить все, но в этот момент вы захотите использовать инструменты профилирования syscall для отслеживания определенных приложений, которые, как представляется, вызывают эту перегрузку.
Следует надеяться, что ваша конкретная система перестанет выражать это поведение с будущим обновлением ядра (и многие из наиболее распространенных причин этого были решены).
Пример: e1000e. В моем случае я нашел такую обратную линию почти каждый раз:
Он намекнул мне на проблему в модуле карты e1000e Ethernet, и действительно, sudo rmmod e1000e сильно снизили загрузку процессора [ e1000e ошибка # 26 ].
Запишите около 10 секунд обратных отображений на всех ваших процессорах:
Проанализируйте свою запись: