Kworker что такое процесс linux

Обновлено: 05.07.2024

[kworker] Одно ядро ​​загружено процессом kworker на 90-97%

Всем пинговать! Я установил htop относительно давно, чтобы следить за нагрузкой на систему. Но так как пользовался очень редко, то почти ничего не заметил. И вот спустя некоторое время я установил себе Conky и после настройки увидел полную загрузку одного ядра.

Я прошел все процессы и не смог найти, в чем проблема. Я очень долго сидел в гугле и искал решение этого вопроса, но все время упирался в разные решения, которые не давали желаемого результата. Я понял логику решения задачи, но не сразу нашел, как реализовать эту логику.

Суть проблемы: есть процесс под названием kworker, который после запуска системы съедает полностью одно ядро. Беглое гугление дало понять, что это не критично и связано с перебоями (очень глубоко не было желания разбираться в проблеме).

Все это решалось достаточно примитивно. Для начала находим (от корня) виновника следующей командой:

Там мы увидим примерно следующее:

В последней строке у меня есть виновник. У вас могут быть другие номера после gpe. Лечить можно следующей командой (важно - ИЗ РУТА):

После этого можно проверить через тот же htop и посмотреть, вернулось ли съеденное ядро. Это конечно приятно и не может не радовать, но есть один небольшой минус - после перезагрузки все опять будет как прежде и процедуру придется повторить.

Это меня выбесило через пару дней и был реализован простой способ решения этого косяка в автоматическом режиме. Пишется однострочный скрипт:

Недавно я обновился до Kubuntu Natty Beta 1 и столкнулся с множеством проблем с процессом kworker . Иногда он использует почти половину моего процессора. Также, как ни странно, влияет на мои порты USB; всякий раз, когда я подключаю USB-накопитель, процесс kworker переходит в режим гипердиска, из-за чего я не могу работать.

Я подумывал записать ошибку в журнал, но так как я даже не нашел разумного объяснения тому, что такое kworker , я решил сначала выяснить это.

6 ответов

«Kworker» — это процесс-заполнитель для рабочих потоков ядра, которые выполняют большую часть фактической обработки ядра, особенно в случаях, когда есть прерывания, таймеры, ввод-вывод и т. д. Они обычно соответствуют подавляющему большинству любых выделенных " system" время запуска процессов. Это не то, что можно безопасно удалить из системы, и оно совершенно не связано с nepomuk или KDE (за исключением того, что эти программы могут выполнять системные вызовы, которые могут потребовать от ядра каких-либо действий).

Поступали сообщения о чрезмерной активности kworker с момента разработки 2.6.36 (пример обсуждения) и широко распространенные сообщения о путанице и проблемах с 2.6 .38 (хотя многие из этих сообщений включают слово «Natty», поэтому я предполагаю, что эти люди действительно не используйте ядро ​​между версиями 2.6.35 (распространено в Ubuntu 10.10) и 2.6.38 (распространено в Ubuntu 11.04).

Я нашел много сообщений о том, что "исправлено" для того или иного пользователя. Большинство «исправлений», по-видимому, связаны с различными видами обновлений ядра. Если обновление можно проследить до конкретной проблемы, часто кажется, что некоторые драйверы или службы ядра были исправлены, чтобы они не ошибались: у меня сложилось впечатление, что в ядре есть много вещей, которые могут вызвать поведение, которое наблюдается как чрезмерное использование kworker.

Если вы обнаружите, что система недоступна из-за чрезмерной активности kworker, я бы рекомендовал попробовать сделать меньше. Если вы считаете, что ничего не делаете, попробуйте отключить долго работающие службы или таймеры (читатели RSS, почтовые программы, файловые индексы, отслеживание активности и т. д.). Если это не сработает, попробуйте перезапустить. Если ваша система позволяет включать и выключать оборудование в предзагрузочной среде, попробуйте отключить оборудование, которое вы не используете. Если это происходит при каждом перезапуске, прежде чем что-либо делать, вы можете попробовать удалить все, но на этом этапе вы захотите использовать инструменты профилирования системных вызовов, чтобы отследить определенные приложения, которые, по-видимому, вызывают эту перегрузку.

Надеюсь, ваша конкретная система перестанет проявлять такое поведение с будущим обновлением ядра (и многие из наиболее распространенных причин этого были устранены).

Что такое кворкер? kworker означает, что процесс ядра Linux выполняет «работу» (обработка системных вызовов). У вас может быть несколько таких процессов в вашем списке процессов: kworker/0:1 — это процесс на первом ядре вашего процессора, kworker/1:1 на втором и т. д.

Почему kworker использует ваш процессор? . Чтобы узнать, почему kworker тратит впустую ваш процессор, вы можете создать трассировку процессора: отслеживайте загрузку процессора (верхнюю или любую другую) и во время высокой загрузки через kworker запускайте echo l> / proc / sysrq-trigger для создания трассировки. (В Ubuntu вам нужно войти в систему с помощью sudo -s).Сделайте это несколько раз, затем посмотрите на следы в конце файла dmesg. Взгляните на то, что часто происходит в трассировке ЦП, возможно, укажете на источник вашей проблемы.

Пример: e1000e. В моем случае я почти каждый раз находил такую ​​строку:

Почему kworker использует ваш процессор (продолжение)? В качестве альтернативы другому моему ответу здесь Perf — это более профессиональный способ проанализировать, какие задачи ядра вызывают зависание вашего процессора:

(Второй пакет должен соответствовать версии вашего ядра. Сначала вы можете установить только linux-tools-common и вызвать perf, чтобы сообщить, какой пакет ему нужен.)

Запишите около 10 секунд обратного сопоставления на всех ваших процессорах:

Проанализируйте свой пост:

(Перейдите к расписанию звонков с помощью ← , → , ↑ , ↓ и введите.)

Я недавно обновился до Kubuntu Natty Beta 1, и у меня много проблем с процессом kworker. Иногда он использует почти половину моего процессора. Также, как ни странно, влияет на мои порты USB; Когда я подключаю USB-накопитель, процесс kworker переходит в гипердрайв, и я не могу работать.

Я подумал о поиске ошибки, но так как я даже не нашел разумного объяснения тому, что такое [d1] kworker, я решил, что должен сначала выяснить это.

5 ответов

Что такое кворкер? kworker означает, что процесс ядра Linux выполняет «работу» (обработка системных вызовов). У вас их может быть несколько в списке процессов: kworker/0:1 — это тот, что на вашем первом ядре процессора, kworker/1:1 — это тот, что у вас на втором, и т.д.

Что такое кворкер? Чтобы узнать, почему kworker тратит впустую ваш процессор, вы можете создать бэктрейсы процессора: посмотреть загрузку процессора (с топом или что-то в этом роде) и при высокой загрузке через kworker выполнить команду echo l> /proc/sysrq-trigger. чтобы создать обратную трассировку (в Ubuntu вам нужно войти в систему с помощью sudo -s). Сделайте это несколько раз, затем посмотрите следы в конце вывода dmesg. Взгляните на то, что часто происходит при колебаниях ЦП, возможно, вы укажете на источник вашей проблемы.

Пример: e1000e. В моем случае я почти каждый раз находил такую ​​строку:

Недавно я обновился до Kubuntu Natty Beta 1, и у меня возникло много проблем с процессом kworker. Иногда он использует почти половину моего процессора. Кроме того, как ни странно, это влияет на мои USB-порты; всякий раз, когда я подключаю USB-накопитель, процесс kworker переходит в режим гипердиска, из-за чего я не могу работать.

Я думал о том, чтобы сообщить об ошибке, но так как я даже не нашел разумного объяснения, что такое kworker, я решил, что должен сначала выяснить это.

Странно, kworker работает и способствует пробуждениям на 10%, но у меня нет установленных программ Kubuntu. Алос Непомук не установлен.

из ответа afrazier теперь я думаю, что это как-то связано с ядром (поэтому k в kworker означает ядро). вот почему у вас также должен быть запущен kworker на вашем компьютере с Ubuntu.

6 ответов 6

«kworker» — это процесс-заполнитель для рабочих потоков ядра, которые выполняют большую часть фактической обработки для ядра, особенно в случаях, когда есть прерывания, таймеры, ввод-вывод и т. д. Обычно они соответствуют подавляющему большинству любое выделенное «системное» время для запущенных процессов. Это не то, что можно каким-либо образом безопасно удалить из системы, и оно совершенно не связано с nepomuk или KDE (за исключением того, что эти программы могут выполнять системные вызовы, которые могут потребовать от ядра каких-либо действий).

Было несколько сообщений о чрезмерной активности kworker для относительно бездействующих систем, начиная с разработки 2.6.36 (пример обсуждения), а также многочисленные сообщения о путанице и проблемах с 2.6.38 (хотя многие из этих отчетов включают слово «Natty», поэтому я предполагаю, что эти люди не использовали какое-либо ядро ​​между версиями 2.6.35 (распространяется в Ubuntu 10.10) и 2.6.38 (распространяется в Ubuntu 11.04).

Я нашел много отчетов о чем-то, что "исправило" это для того или иного пользователя. Большинство «исправлений», кажется, связаны с обновлениями ядра разного рода. Там, где обновление можно отследить до конкретной проблемы, часто кажется, что какой-то драйвер или служба ядра исправлена, чтобы не работать неправильно: у меня сложилось впечатление, что в ядре очень много вещей, которые могут вызвать поведение что наблюдается как чрезмерное использование kworker.

Если вы обнаружите, что система непригодна для использования из-за чрезмерной активности kworker, я бы порекомендовал попробовать делать меньше вещей. Если вы считаете, что ничего не делаете, попробуйте отключить долго работающие службы или таймеры (программы чтения RSS, почты, индексаторы файлов, средства отслеживания активности и т. д.). Если это не сработает, попробуйте перезапустить. Если ваша система позволяет вам включать или отключать оборудование в предзагрузочной среде, попробуйте отключить оборудование, которое вы не используете. Если это происходит при каждом перезапуске, прежде чем вы что-либо предпринимаете, вы можете попробовать удалить что-то, но на этом этапе вы захотите запустить инструменты профилирования системных вызовов, чтобы отслеживать конкретные приложения, которые, по-видимому, вызывают эту перегрузку.

Есть надежда, что ваша конкретная система перестанет проявлять такое поведение с будущим обновлением ядра (и многие из наиболее распространенных причин этого были устранены).


Ядра используют модуль Kworker или Kernel Worker для выполнения различных задач компьютерной системы. Эти задачи также называются системными вызовами. Эти системные вызовы выполняют такие обязанности и работают, как прием ввода, выдача вывода, обработка данных, арифметические операции и т. д.

Теперь мы обсудим Kworker, что он делает, различные проблемы, с которыми можно столкнуться при его использовании, и многое другое.

Что такое Кворкер

Это чаще всего наблюдается в Linux и подобных операционных системах. Kworker выполняет все задачи и действия внутри вашей системы. Это инструмент ядра, и без него компьютер бесполезен.

Что он делает

Без Kworker ваша компьютерная система или ноутбук, работающий под управлением Linux, были бы металлическим оборудованием, которое мало что могло бы сделать.

Как просмотреть процесс Kworker и потребляемые им ресурсы?

Введите приведенную ниже команду в окне терминала Linux и аналогичных операционных систем.

Альтернативой этой команде является:

Проблемы, возникающие при использовании Kworker

Как уменьшить высокое потребление ресурсов ЦП?

  • Обновите ядро ​​или систему.
  • Удалите и удалите ненужные приложения.
  • Удалите тяжелые и ненужные файлы и папки.
  • Отключите ненужное оборудование.
  • Отключите нежелательные расширения.

Попробовав их, перезагрузите систему.

Если даже это не помогло уменьшить нагрузку на ЦП:

Обновите свои ядра

Сначала проверьте версию, которая у вас есть, набрав и введя:

Обновите ядра

Если это не последняя версия, обновите ее, введя:

Это приведет к обновлению программного обеспечения.

Загрузите пакет «ph-intel»

Загрузите и установите пакет, нажав на эту ссылку.

В поле поиска введите «phc-intel». Загрузите последнюю версию.

Kworker: скачать phc-intel

Перезапустите или перезагрузите систему, затем проверьте, сохраняется ли проблема.

Деактивация настройки флага Интернета

Службы Интернета являются наиболее распространенной причиной резкого увеличения загрузки ЦП.

Отключить интернет-сервисы

Эту проблему можно предотвратить, отключив настройку Интернета в терминале.

Выполнение приведенной выше строки остановит интернет-службы и задержку, вызванную в системе, когда задержка вызвана аномалиями, допущенными работником, который следит за сетевыми службами.

Чтобы снова включить Kworlker, введите: «ifconfig eth0 up»

Использование командной строки

Откройте Shell как пользователь root, введите следующую команду:

Если это не помогло, используйте:

Отключение прерываний прошивки

Попробуйте следующую команду в терминале:

Альтернатива этому:

Отключить прерывания прошивки

Исправление для Lenovo Y560P

Чтобы решить, как Kworker потребляет много ресурсов из памяти процессора, введите:

grep включен /sys/firmware/acpi/interrupts/*

kthread и рабочий

Уничтожение процесса Kworker: команды

Для уничтожения работника ядра можно использовать три разные команды.

Чтобы уничтожить дочерние процессы и избежать создания потоков-зомби, используйте следующую строку:

Что такое процесс Kworker для Android?

Каждый смартфон работает под управлением операционной системы, и у всех операционных систем есть общее: он работает с помощью упрощенной версии ядра Linux. Как обсуждалось ранее, ядра Linux используют Kernel Worker для выполнения различных задач и процессов.

Как я могу отследить Kworker-Threads

После открытия терминала введите следующую команду:

Часто задаваемые вопросы о Kworker

Что такое Кворкер?

Он выполняет простые и сложные задачи и процессы, такие как прием ввода, отображение вывода, обработка прерываний и исключений и т. д.

Как предотвратить использование Kworker на 100 %?

<р>1. Загрузите и установите пакет: phc-intel
2. Отключите прерывания прошивки системы.
3.Деактивируйте интернет-услуги с помощью Терминала.

Что такое Kernel Flush?

Он используется для игнорирования приоритетов некоторых задач, созданных родительским K-потоком.

Подведение итогов

Многие ядра и Kworker скрыты от пользователя, потому что они деликатны и не должны изменяться. Они помогают в правильном и плавном течении системных процессов.

Если у вас есть какие-либо вопросы относительно Kworker или любых других тем, вы можете связаться с нами, используя поле для комментариев ниже, чтобы связаться с нами.

Популярные статьи


сообщить об этом объявлении

Я новичок в Linux. Я всегда использую серверы для запуска Matlab там. Я только что обнаружил, что мой Matlab работает очень медленно, и я проверил верхнюю операцию.

Первые четыре процесса сбивают меня с толку. У кого-нибудь есть опыт, что здесь происходит и что я могу сделать, чтобы сервер работал быстрее?

3494215922D30C038BE23025C3C48095.jpg

атанере

Известный участник

Первые четыре процесса сбивают меня с толку. У кого-нибудь есть опыт, что здесь происходит и что я могу сделать, чтобы сервер работал быстрее?

Привет, @aprilmy, и добро пожаловать! Процесс kworker — это ядро, выполняющее работу. Так что нередко можно увидеть несколько его экземпляров, особенно, я думаю, для сервера. Если кажется, что их слишком много, вам нужно выяснить, какая задача или задачи порождают эти процессы. Ответ верхней команды, который вы показали, не кажется слишком интенсивным для памяти или процессора. Matlab плохо себя вел в это время?

апрель мой

Новый участник

Привет, @aprilmy, и добро пожаловать! Процесс kworker — это ядро, выполняющее работу. Так что нередко можно увидеть несколько его экземпляров, особенно, я думаю, для сервера. Если кажется, что их слишком много, вам нужно выяснить, какая задача или задачи порождают эти процессы. Ответ верхней команды, который вы показали, не кажется слишком интенсивным для памяти или процессора. Matlab плохо себя вел в это время?

волшебник из oz

Администратор
<р>. вы можете просто закрыть свою тему/тред здесь или здесь, но не запускать их одновременно?

Вы понимаете, что это сбивает с толку?

Мы будем рады помочь.

Крис Тернер
wizardfromoz


МЫСЛИ НА МАРТ 2022 1. COVID SUX -Вакцины от глупости нет 2. НА АВ - ничего не пуленепробиваемо, но ношу кевлар - использую линукс. 3. Еще пивные часы, где я живу. 4. Приходите и спойте вместе в Rock Roxx. 5. Почему так много дистрибутивов, Wiz?

апрель мой

Новый участник
<р>. вы можете просто закрыть свою тему/тред здесь или здесь, но не запускать их одновременно?

Вы понимаете, что это сбивает с толку?

Мы будем рады помочь.

Крис Тернер
wizardfromoz

волшебник из oz

Администратор

Спасибо за это, Мэнью.谢谢

Я мало что знаю о серверах, но если я попрошу вас ответить на небольшое количество вопросов, вы можете подготовить ответы для тех, кто может помочь.

<р>1. Какой Linux вы используете в качестве сервера, например Ubuntu Server 18.4 LTS (долгосрочная поддержка)?

<р>2. Каковы характеристики вашего компьютера?

Вы можете дать нам спецификации, зайдя в Терминал (Ctrl-Alt-t) и введя

У других могут возникнуть дополнительные вопросы.


МЫСЛИ НА МАРТ 2022 1. COVID SUX -Вакцины от глупости нет 2. НА АВ - ничего не пуленепробиваемо, но ношу кевлар - использую линукс. 3. Еще пивные часы, где я живу. 4. Приходите и спойте вместе в Rock Roxx. 5. Почему так много дистрибутивов, Wiz?

атанере

Известный участник

Снова привет, @aprilmy. Я тоже не очень разбираюсь в серверах, но, покопавшись вместе, мы сможем найти виновника замедления. Помимо запрошенного Мастером вывода, возможно, еще один или два снимка экрана помогут лучше понять, насколько плоха ситуация с kworker. Несколько примеров (мне) не показались такими значительными. некоторая загрузка процессора, но 0% памяти. Другие программы работают медленно или отказываются загружаться, кроме Matlab? Вносили ли вы в последнее время какие-либо изменения или обновления в Matlab, которые могут быть причиной?

Возможно, @Rob, @ryanvade или @Scotsgeek (или другой гуру серверов) тоже вмешаются и помогут.

Администратор

Да, самым полезным здесь будет запуск некоторых команд после того, как нагрузка снова восстановится.

Полные результаты таких команд, как:

апрель мой

Новый участник

Да, самым полезным здесь будет запуск некоторых команд после того, как нагрузка снова восстановится.

Полные результаты таких команд, как:


Большое спасибо за ответ.Я сделал команду TOP, и кажется, что объем памяти не так сильно влияет. Но почему-то работа сервера тормозит. Пытался связаться с Uni IT service, жду от них ответа.

апрель мой

Новый участник

Снова привет, @aprilmy. Я тоже не очень разбираюсь в серверах, но, покопавшись вместе, мы сможем найти виновника замедления. Помимо запрошенного Мастером вывода, возможно, еще один или два снимка экрана помогут лучше понять, насколько плоха ситуация с kworker. Несколько примеров (мне) не показались такими значительными. некоторая загрузка процессора, но 0% памяти. Другие программы работают медленно или отказываются загружаться, кроме Matlab? Вносили ли вы в последнее время какие-либо изменения или обновления в Matlab, которые могут быть причиной?

Возможно, @Rob, @ryanvade или @Scotsgeek (или другой гуру серверов) тоже вмешаются и помогут.

Спасибо, моя версия Matlab — Matlab 2017b. На самом деле, сервер работал хорошо до вчерашнего дня, когда Матлаб уже нельзя было даже открыть.

Читайте также: