Atualizei recentemente para o Kubuntu Natty Beta 1 e tenho tido muitos problemas com o processo kworker . Em alguns momentos, ele usa quase metade da minha CPU. Além disso, estranhamente, parece afetar minhas portas USB; sempre que eu conecto uma unidade USB, o processo kworker entra no hiperdrive, deixando-me incapaz de trabalhar.
Eu pensei em registrar um bug, mas desde que eu ainda não encontrei nenhuma explicação razoável sobre o que é o kworker , achei que deveria descobrir primeiro.
Respostas:
"kworker" é um processo de espaço reservado para os threads de trabalho do kernel, que executam a maior parte do processamento real do kernel, especialmente nos casos em que há interrupções, temporizadores, E / S, etc. Isso normalmente corresponde à grande maioria de todos os " sistema "tempo para executar processos. Não é algo que possa ser removido com segurança do sistema de forma alguma e não tem nenhuma relação com o nepomuk ou o KDE (exceto pelo fato de que esses programas podem fazer chamadas do sistema, o que pode exigir que o kernel faça alguma coisa).
Houve alguns relatos de atividade excessiva do kworker para sistemas relativamente inativos, iniciados durante o desenvolvimento da 2.6.36 ( discussão de exemplo ), e amplos relatórios de confusão e problemas com a 2.6.38 (embora muitos desses relatórios incluam a palavra "Natty", presumo que essas pessoas não usaram nenhum kernel entre 2.6.35 (distribuído no Ubuntu 10.10) e 2.6.38 (distribuído no Ubuntu 11.04).
Encontrei muitos relatórios de algo que "corrigiu" isso para um ou outro usuário. A maioria das "correções" parece estar relacionada a atualizações do kernel de vários tipos. Onde a atualização pode ser rastreada para um problema específico, muitas vezes parece haver algum serviço de driver ou kernel que foi corrigido para não se comportar mal: Tenho a impressão de que há um número muito grande de coisas no kernel que podem causar um comportamento que é observado como uso excessivo do trabalhador.
Se você achar o sistema inutilizável devido à atividade excessiva do kworker, eu recomendaria tentar fazer menos coisas. Se você acha que não está fazendo nada, tente desligar serviços ou timers de longa duração (leitores de RSS, de correio, indexadores de arquivos, rastreadores de atividades etc.). Se isso não funcionar, tente reiniciar. Se o seu sistema permitir ativar ou desativar o hardware em um ambiente de pré-inicialização, tente desativar o hardware que você não está usando. Se isso ocorrer em todas as reinicializações antes de você fazer qualquer coisa, tente desinstalar as coisas, mas nesse momento você desejará executar as ferramentas de perfil syscall para rastrear aplicativos específicos que parecem estar causando essa sobrecarga.
Espera-se que seu sistema específico pare de expressar esse comportamento com uma atualização futura do kernel (e muitas das causas mais comuns disso foram resolvidas).
fonte
O que é o kworker?
kworker
significa um processo do kernel Linux executando "trabalho" (processamento de chamadas do sistema). Você pode ter vários deles em sua lista de processos:kworker/0:1
é o do seu primeiro núcleo da CPU,kworker/1:1
o do seu segundo, etc.Por que o kworker monopoliza sua CPU? Para descobrir por que um kworker está desperdiçando sua CPU, você pode criar backtraces da CPU: observe o carregamento do processador (com
top
ou algo assim) e, em momentos de alta cargakworker
, executeecho l > /proc/sysrq-trigger
para criar um backtrace. (No Ubuntu, é necessário que você faça loginsudo -s
). Faça isso várias vezes e, em seguida, observe os rastreamentos no final dadmesg
saída. Veja o que acontece com frequência nos backtraces da CPU, espero que aponte para a fonte do seu problema.Exemplo: e1000e. No meu caso, encontrei um backtrace assim quase todas as vezes:
Isso me indicou um problema no
e1000e
módulo da placa Ethernet e, de fato,sudo rmmod e1000e
fez com que a alta carga da CPU desaparecesse imediatamente [ e1000e bug # 26 ].fonte
echo l > /proc/sysrq-trigger
parece não funcionar no proxmox dizendosysrq: SysRq : This sysrq operation is disabled.
tristemente.Por que o kworker monopoliza sua CPU (continuação)? Como alternativa à minha outra resposta aqui , o Perf é uma maneira mais profissional de analisar quais tarefas do kernel estão sobrecarregando sua CPU:
Instalar
perf
:(O segundo pacote deve corresponder à sua versão do kernel. Você pode instalar primeiro apenas
linux-tools-common
e ligarperf
para que ele informe qual pacote ele precisa.)Grave cerca de 10 segundos de backtraces em todas as suas CPUs:
Analise sua gravação:
(Navegar no gráfico de chamadas com ←, →, ↑, ↓e Enter.)
fonte
perf
usei o rastreamento do problema até osd_mod
módulo do kernel. A desativação do SCSI novmx
arquivo impediu o carregamento do módulo e o sistema voltou à velocidade normal:scsi0.present = "FALSE"
Apenas para que todos saibam. Corri para este problema, instalado perf (que é uma ótima ferramenta), apontou para bloqueio de rotação e XFS. Isso apontou para o NFS. Então percebi que uma das minhas montarias estava sem espaço. A liberação de espaço fez com que a CPU do kworker caísse para 0.
Então, aparentemente, isso pode ser um sintoma de falta de espaço em disco em um servidor NFS ocupado!
fonte
Eu instalei recentemente o Ubuntu Natty em um drive USB externo wd passport. Quando inicio na área de trabalho, que tem cerca de dois anos, tudo funciona como um encanto. Quando inicio o meu novo laptop (sistema MSI gt680r), ele fica mais lento depois que o computador é desligado, ou se eu conecto outro disco USB.
Os processos do Kworker exigem cada vez mais CPU, e o mouse congela de tempos em tempos.
Eu li várias soluções em vários fóruns que não funcionaram.
Entrei no BIOS do meu laptop, onde havia:
Eu mudei para:
e, desde então, não congela mais no natty do meu laptop.
Eu habilitaria a devolução se e quando o problema for corrigido.
fonte
Acho que desabilitar o Nepomuk pode ajudá-lo:
http://www.freetechie.com/blog/disable-nepomuk-desktop-search-on-kde-4-4-2-kubuntu-lucid-10-04/
fonte