Intereting Posts
Можно ли полностью удалить пусковую установку единства? ubuntu 14.04.01 закрывающая крышка замораживает ноутбук Можете ли вы помочь мне исправить мои сломанные пакеты? Как обновить ядро ​​Linux автоматически? Предотвращение изменения gnome-терминала при создании новой вкладки или окна Как отключить все элементы GUI и загрузить в командной строке Как правильно удалить плохо установленный .deb? Некоторые вопросы перед установкой Ubuntu из Windows Любой браузер файлов хорошо интегрирован в рабочий стол Ubuntu 14.04LTS, способный открывать папки для рабочего стола в вкладках вместо нового окна? Не-sudo wifi деактивация Внешний монитор установлен как основной, даже если он отключен от ноутбука Как я могу предотвратить nohup от создания файла ~ / nohup.out? Нет Центра управления Catalyst Застрял в «VMware easy install» Я не могу установить фоновое изображение на терминале Gnome 3.14

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

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

Я подумал о том, чтобы подать ошибку, но так как я даже не нашел разумного объяснения того, что 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 для создания kworker , (На Ubuntu вам нужно войти в систему с помощью sudo -s ). Делайте это несколько раз, затем смотрите обратные трассы в конце вывода dmesg . Посмотрите, что часто случается в перепадах CPU, надеюсь, укажет на источник вашей проблемы.

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

 Call Trace: delay_tsc+0x4a/0x80 __const_udelay+0x2c/0x30 e1000_acquire_swflag_ich8lan+0xa2/0x240 [e1000e] e1000e_read_phy_reg_igp+0x29/0x80 [e1000e] e1000e_phy_has_link_generic+0x85/0x120 [e1000e] e1000_check_for_copper_link_ich8lan+0x48/0x930 [e1000e] e1000e_has_link+0x55/0xd0 [e1000e] e1000_watchdog_task+0x5e/0x960 [e1000e] 

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

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

  1. Установить perf :

     sudo apt-get install linux-tools-common linux-tools-3.11.0-15-generic 

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

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

     sudo perf record -g -a sleep 10 
  3. Проанализируйте свою запись:

     sudo perf report 

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

Просто чтобы все знали. Я столкнулся с этой проблемой, установил perf (это отличный инструмент), он указал на блокировку спина и XFS. Это указывало на NFS. Тогда я понял, что один из моих монстров был вне космоса. Освобождение пространства привело к тому, что CPU kworker упал до 0.

Таким образом, по-видимому, это может быть симптомом нехватки места на занятом сервере NFS!

Недавно я установил Ubuntu Natty на внешний диск usb wd. Когда я начинаю на своем рабочем столе, которому около двух лет, все работает как шарм. Когда я запускаю свой новый ноутбук (MSI gt680r system), он замедляется после того, как я разбужу компьютер из сна или если я подключу другой диск USB.

Процессы Kworker принимают все больше и больше процессоров, и мышь зависает время от времени.

Я читал несколько решений на разных форумах, которые не работали.

Я вошел в BIOS моего ноутбука, где был:

 Hand XCHI OFF: Enabled EHCI Hand OFF: disabled 

Я изменил для:

 Hand XCHI OFF: disabled EHCI Hand OFF: disabled 

и с тех пор, он больше не замерзает на natty на моем ноутбуке.

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

Я думаю, что отключение Nepomuk может помочь вам:

http://www.freetechie.com/blog/disable-nepomuk-desktop-search-on-kde-4-4-2-kubuntu-lucid-10-04/