Недавно я обновился до 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).
Я нашел много сообщений о том, что «исправило» это для того или иного пользователя. Большинство «исправлений», по-видимому, связаны с обновлениями ядра различного рода. Там, где обновление можно отследить до определенной проблемы, часто оказывается, что какой-то драйвер или служба ядра были исправлены, чтобы не вести себя неправильно: у меня сложилось впечатление, что в ядре есть очень много вещей, которые могут вызвать поведение что наблюдается как чрезмерное использование 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 ].источник
echo l > /proc/sysrq-trigger
кажется, не работает на Proxmox, кsysrq: SysRq : This sysrq operation is disabled.
сожалению.Почему kworker использует ваш процессор (продолжение)? В качестве альтернативы моему другому ответу здесь , Perf - более профессиональный способ проанализировать, какие задачи ядра загружают ваш процессор:
Установить
perf
:(Второй пакет должен соответствовать версии вашего ядра. Сначала вы можете просто установить
linux-tools-common
и позвонить,perf
чтобы сообщить, какой пакет ему нужен.)Запишите около 10 секунд следов на всех ваших процессорах:
Проанализируйте вашу запись:
(Перемещение по графу вызовов с ←, →, ↑, ↓и Enter.)
источник
perf
я отследил проблему доsd_mod
модуля ядра. Отключение SCSI вvmx
файле помешало загрузке модуля и вернуло систему к нормальной скорости:scsi0.present = "FALSE"
Просто чтобы все знали. Я столкнулся с этой проблемой, установил perf (это отличный инструмент), он указал на спин-блокировку и XFS. Это указывало на NFS. Затем я понял, что у одного из моих маунтов не было места. Освобождение места привело к падению процессора kworker до 0.
Очевидно, это может быть признаком нехватки места на диске на занятом NFS-сервере!
источник
Я недавно установил Ubuntu Natty на внешний диск USB паспорт wd. Когда я начинаю на моем рабочем столе, которому около двух лет, все работает как шарм. Когда я запускаю свой новый ноутбук (система MSI gt680r), он замедляется после выхода компьютера из спящего режима или при подключении другого USB-диска.
Процессы Kworker требуют все больше ресурсов процессора, и мышь время от времени зависает.
Я прочитал несколько решений на разных форумах, которые не сработали.
Я вошел в биос моего ноутбука, где было:
Я поменял на:
и с тех пор он больше не зависает на natty на моем ноутбуке.
Я бы включил руку обратно, если и когда проблема будет исправлена.
источник
Я думаю, что отключение Непомука может помочь вам:
http://www.freetechie.com/blog/disable-nepomuk-desktop-search-on-kde-4-4-2-kubuntu-lucid-10-04/
источник