Linux kworker процесс 100

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

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

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

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

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

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

Вот на последней строке у меня и есть виновник. У вас вполне вероятно могут быть другие цифры после gpe . Лечить его можно вот такой командой (важно — ОТ РУТА):

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

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

Источник

Linux kworker процесс 100% — решение проблемы в grub.

Вычисляем процесс с высоким потреблением процессорного времени

  • Причина создания данной статьи тут: после установки в материнскую плату GIGABYTE N3150N-D3V в слот PCI

дополнительной сетевой карты:

появился скрытый процесс, который нагружал на 95

100% постоянно одно ядро CPU.
утилиты: htop, iotop, top — практически мало дали информации о том какой процесс так нагружает ядро.
dmesg — тоже мало чем помог в разьяснении происходящего.
После продолжительных поисков решения и экспериментов по оптимизации параметров загрузки ядра и было найдено успешное решение.
Об этом ниже.

Для начала установим наобходимый пакет:

теперь снимем отчет о процессах в ядре на 10 секунд:

и посмотрим какой процесс и как нагружает:

Linux kworker процесс

. Решение оказалось совсем рядом с предложением от etamax

но я не знал какие параметры можно еще скормить ядру при загрузке. Подсказка нашлась на форуме suse plug-issue

что гуглопереводчик перевел мне как «. используйте pcie_aspm = off вместо 3 или nomodeset, просто чтобы узнать, помогает ли это».

Далее после проверки Открываем для редактирования файл GRUB

Добавляем в нее параметр

Должно получится вот так:

Сохраняем файл, и обновляем grub загрузчик

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

Источник

Kworker, что это такое и почему он забивает так много процессора?

Непосредственно из этой ссылки есть 2 хорошие опции:

Читайте также:  Windows games download windows 10 64 bit

Чтобы установить его, откройте терминал (Ctrl + Alt + T) и вставьте этот код:

Tv Maxe

Чтобы установить его, откройте терминал (Ctrl + Alt + T) и вставьте этот код:

Примечание. Оба TV maxe и SopCast Player используют P2P (одноранговая сеть) для потоковой передачи своего контента. Хотя эти услуги не являются незаконными per se, просмотр платных телеканалов или любых лицензированных может вызвать у вас проблемы в зависимости от юрисдикции вашей страны. Пожалуйста, сохраните этот ум, прежде чем пытаться выполнить какие-либо из этих параметров.

См. Ссылку и здесь для получения дополнительной информации по этой теме.

[d17 ] Я на самом деле пытался найти подходящее приложение, которое я использовал на Ubuntu 12.10 всего несколько недель назад. Я не могу вспомнить его имя на данный момент: я помню только красный значок и возможность фильтровать телевизионные каналы по странам. Я считаю, что его нет в Ubuntu 12.04 Software Center, но я могу ошибаться. Любые предложения приветствуются . Мне очень понравилось это!

EDIT -> Угадай, я нашел его! Он называется Примечание и вот как его установить:

5 ответов

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

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

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

Он намекнул мне на проблему в модуле карты Ethernet e1000e, и действительно sudo rmmod e1000e сделал высокую загрузку процессора немедленно уйдите [e1000e bug # 26].

Источник

Kworker, что это такое и почему он так сильно загружает процессор?

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

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

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

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

Читайте также:  Редактор java для linux

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

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

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

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

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

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

Это намекало мне на проблему в e1000e модуле карты Ethernet, и, действительно, sudo rmmod e1000e высокая загрузка процессора сразу же исчезла [ ошибка e1000e # 26 ].

Источник

Kworker, что это такое и почему он забивает так много CPU?

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

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

6 ответов

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

Читайте также:  Как включить windows 64 бит

Были сообщения о чрезмерной активности 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 на втором и т. Д.

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

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

Он намекнул мне на проблему в модуле карты e1000e Ethernet, и действительно, sudo rmmod e1000e сильно снизили загрузку процессора [ e1000e ошибка # 26 ].

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

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

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

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

(Перейдите к графику вызовов с помощью , , , и введите .)

Источник

Оцените статью