Pertanyaan Kworker, apa itu dan mengapa memonopoli begitu banyak CPU?


Saya baru saja meng-upgrade ke Kubuntu Natty Beta 1 dan saya mengalami banyak masalah dengan proses ini kworker. Pada saat itu menggunakan hampir setengah CPU saya. Juga, anehnya tampaknya mempengaruhi port USB saya; setiap kali saya menyambungkan drive USB, prosesnya kworker masuk ke hyperdrive, membuat saya tidak bisa bekerja.

Saya telah berpikir tentang mengajukan bug tetapi karena saya bahkan belum menemukan penjelasan yang masuk akal tentang apa kworker Saya pikir saya harus mencari tahu dulu.


110
2018-04-05 13:57


asal


Aneh, kworker berjalan dan berkontribusi pada wakeup sebesar 10% tetapi saya tidak menginstal program Kubuntu. Alos Nepomuk tidak diinstal. - dago
dari respon afrazier saya pikir sekarang ada hubungannya dengan kernel (jadi k di kworker adalah untuk kernel). jadi itulah mengapa Anda juga akan memiliki kworker yang berjalan di mesin Ubuntu Anda. - davorao
Jawaban ini mungkin juga berguna untuk mencari tahu apa yang dilakukan kworker: unix.stackexchange.com/questions/22851/… - anarcat
Anda seharusnya tidak mengambil pembaruan OS terakhir. Jika Anda beruntung, yang berikutnya akan memperbaikinya. - nobar


Jawaban:


"kworker" adalah proses placeholder untuk utas pekerja kernel, yang melakukan sebagian besar pemrosesan aktual untuk kernel, terutama dalam kasus di mana terdapat interupsi, pengatur waktu, I / O, dll. Ini biasanya sesuai dengan sebagian besar alokasi " sistem "waktu untuk menjalankan proses. Ini bukan sesuatu yang dapat dengan aman dihapus dari sistem dengan cara apa pun, dan sama sekali tidak terkait dengan nepomuk atau KDE (kecuali bahwa program ini dapat membuat panggilan sistem, yang mungkin memerlukan kernel untuk melakukan sesuatu).

Ada beberapa laporan aktivitas kworker yang berlebihan untuk relatif sistem idle mulai selama pengembangan 2.6.36 (contoh diskusi), dan laporan luas kebingungan dan masalah dengan 2.6.38 (meskipun banyak dari laporan ini termasuk kata "Natty", jadi saya menganggap orang-orang ini tidak menggunakan kernel antara 2.6.35 (didistribusikan di Ubuntu 10.10) dan 2.6. 38 (didistribusikan di Ubuntu 11.04).

Saya telah menemukan banyak laporan tentang sesuatu yang "diperbaiki" ini untuk satu atau pengguna lain. Sebagian besar "perbaikan" tampaknya terkait dengan pembaruan kernel dari berbagai jenis. Di mana pembaruan dapat dilacak ke masalah tertentu, tampaknya sering ada beberapa driver atau layanan kernel yang telah ditambal agar tidak nakal: Saya mendapat kesan bahwa ada banyak sekali hal di kernel yang dapat menyebabkan perilaku yang diamati sebagai penggunaan kworker yang berlebihan.

Jika Anda menemukan sistem tidak dapat digunakan karena aktivitas kworker yang berlebihan, saya akan merekomendasikan mencoba melakukan lebih sedikit hal. Jika Anda berpikir Anda tidak melakukan apa-apa, cobalah mematikan layanan atau timer jangka panjang (pembaca RSS, pembaca email, pengindeks file, pelacak aktivitas, dll.). Jika ini tidak berhasil, coba mulai ulang. Jika sistem Anda memungkinkan Anda untuk mengaktifkan atau menonaktifkan perangkat keras di lingkungan pre-boot, coba matikan perangkat keras yang tidak Anda gunakan. Jika itu terjadi pada setiap restart sebelum Anda melakukan apa pun, Anda dapat mencoba menghapus instalan, tetapi pada titik ini Anda akan ingin menjalankan alat profiling syscall untuk melacak aplikasi tertentu yang tampaknya menyebabkan kelebihan beban ini.

Diharapkan bahwa sistem khusus Anda akan berhenti mengekspresikan perilaku ini dengan upgrade kernel di masa mendatang (dan banyak penyebab paling umum ini telah dipecahkan).


94
2017-07-08 10:44



Saya memiliki masalah login yang lambat yang saya pikir terkait dengan ini; Saya berhasil menyiasatinya dengan menunda semua yang dimulai dengan cara ini: askubuntu.com/a/484856/46437 - Aquarius Power
Mungkin ini berlebihan, tetapi pujian pada tanggapan yang diartikulasikan sangat jelas. Itu beberapa bahasa Inggris yang diungkapkan dengan baik, Pak. - Jon Carter


Apa itu kworker?  kworker berarti proses kernel Linux melakukan "kerja" (pemrosesan panggilan sistem). Anda dapat memiliki beberapa di antaranya dalam daftar proses Anda: kworker/0:1 adalah yang ada di inti CPU pertama Anda, kworker/1:1yang ada di kedua Anda ..

Mengapa kworker mengasah CPU Anda? Untuk mengetahui mengapa kworker membuang-buang CPU Anda, Anda dapat membuat backtraces CPU: perhatikan beban prosesor Anda (dengan top atau sesuatu) dan pada saat-saat beban tinggi kworker, jalankan echo l > /proc/sysrq-trigger untuk membuat backtrace. (Di Ubuntu, ini perlu Anda masuki sudo -s). Lakukan ini beberapa kali, lalu perhatikan backtraces di akhir dmesg keluaran. Lihat apa yang sering terjadi di backtraces CPU, mudah-mudahan mengarahkan Anda ke sumber masalah Anda.

Contoh: e1000e. Dalam kasus saya, saya menemukan backtrace seperti ini hampir setiap saat:

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]

Ini mengisyaratkan saya untuk masalah di e1000e Modul kartu Ethernet, dan memang sebuah sudo rmmod e1000e membuat beban CPU yang tinggi segera hilang [bug e1000e # 26].


68
2018-02-17 02:42



echo l > /proc/sysrq-trigger tampaknya tidak bekerja pada perkataan proxmox sysrq: SysRq : This sysrq operation is disabled. sayangnya. - hak8or
sysrq perlu direenabled dengan sysctl -w kernel.sysrq = 1 see askubuntu.com/questions/911522/… - Sebastien


Mengapa kworker mengasah CPU Anda (cont.)? Sebagai alternatif untuk jawaban saya yang lain di sini, Perf adalah cara yang lebih profesional untuk menganalisis tugas kernel apa yang memonopoli CPU Anda:

  1. Memasang perf:

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

    (Paket kedua harus sesuai dengan versi kernel Anda. Anda dapat menginstalnya terlebih dahulu linux-tools-common dan telepon perf untuk memberi tahu Anda paket mana yang dibutuhkan.)

  2. Rekam sekitar 10 detik backtraces pada semua CPU Anda:

    sudo perf record -g -a sleep 10
    
  3. Analisis rekaman Anda:

    sudo perf report
    

    (Menavigasi grafik panggilan dengan , , ,  dan Memasukkan.)


52
2018-02-17 15:26



Pada sistem saya, berjalan di dalam mesin virtual VMware, gunakan perf Saya menelusuri masalah ini sampai ke sd_mod modul kernel. Menonaktifkan SCSI di vmx file mencegah modul memuat dan mengembalikan sistem ke kecepatan normal: scsi0.present = "FALSE" - feklee


Hanya untuk memberi tahu semua orang. Aku berlari ke masalah ini, menginstal perf (yang merupakan alat yang hebat), itu menunjuk berputar penguncian dan XFS. Itu menunjuk ke NFS. Lalu saya menyadari salah satu tunggangan saya kehabisan ruang. Mengosongkan ruang menyebabkan CPU kworker turun menjadi 0.

Jadi sepertinya ini bisa menjadi gejala kehabisan ruang drive pada server NFS yang sibuk!


5
2018-03-19 13:40



Saya perhatikan saya mengalami kehancuran kworker ketika sebuah virtualbox tertentu sedang berjalan. Ternyata yang satu itu menjalankan NFS dengan host saya untuk berbagi file. Namun itu sama sekali tidak lengkap. Melepas NFS "menyelesaikan" masalah. Saya kira saya akan berbagi dengan sshfs mount. - Programster


Saya baru-baru ini menginstal Ubuntu Natty pada drive usb wd paspor eksternal. Ketika saya mulai di desktop saya yang berumur sekitar dua tahun, semuanya bekerja seperti pesona. Ketika saya mulai menggunakan laptop baru saya (sistem MSI gt680r), itu melambat setelah saya bangun komputer dari tidur, atau jika saya pasang disk usb lain.

Proses Kworker mengambil lebih banyak cpu, dan mouse membeku dari waktu ke waktu.

Saya telah membaca beberapa solusi di berbagai forum yang tidak berfungsi.

Saya pergi ke bios laptop saya, di mana ada:

Hand XCHI OFF: Enabled
EHCI Hand OFF: disabled

Saya berubah untuk:

Hand XCHI OFF: disabled
EHCI Hand OFF: disabled

dan sejak itu, itu tidak membeku lagi di laptop saya.

Saya akan mengaktifkan kembali jika dan ketika masalahnya diperbaiki.


4
2017-07-01 09:08



Adakah yang bisa menjelaskan mengapa ini terjadi? Bagaimana XCHI terhubung? - GuySoft


Saya pikir melumpuhkan Nepomuk dapat membantu Anda:

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


0
2018-05-06 06:02



terima kasih tetapi saya sudah menginstal salinan baru Kubuntu 11.04 dan masalah yang disebutkan sebelumnya menghilang. - davorao
Sementara ini secara teoritis dapat menjawab pertanyaan itu, itu akan lebih baik untuk memasukkan bagian-bagian penting dari jawaban di sini, dan berikan tautan sebagai referensi. - fossfreedom♦