Saya baru-baru ini ditingkatkan ke Kubuntu Natty Beta 1 dan saya telah mengalami banyak masalah dengan proses kworker . Pada saat itu menggunakan hampir setengah CPU saya. Juga, anehnya itu tampaknya mempengaruhi port USB saya; setiap kali saya mencolokkan USB drive, proses kworker masuk ke hyperdrive, membuat saya tidak dapat bekerja.
Saya telah berpikir tentang pengajuan bug tetapi karena saya bahkan belum menemukan penjelasan yang masuk akal tentang apa kworker yang saya pikir saya harus mencari tahu dulu.
Jawaban:
"kworker" adalah proses placeholder untuk thread pekerja kernel, yang melakukan sebagian besar pemrosesan aktual untuk kernel, terutama dalam kasus di mana ada interupsi, timer, I / O, dll. Ini biasanya sesuai dengan sebagian besar dari setiap alokasi " sistem "waktu untuk menjalankan proses. Ini bukan sesuatu yang dapat dihapus dengan aman dari sistem dengan cara apa pun, dan sama sekali tidak terkait dengan nepomuk atau KDE (kecuali bahwa program-program ini dapat melakukan panggilan sistem, yang mungkin memerlukan kernel untuk melakukan sesuatu).
Ada beberapa laporan tentang aktivitas pekerja yang berlebihan untuk sistem yang relatif tidak aktif yang dimulai selama pengembangan 2.6.36 ( contoh diskusi ), dan laporan yang luas tentang kebingungan dan masalah dengan 2.6.38 (walaupun banyak dari laporan ini memasukkan kata "Natty", jadi saya kira 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 "memperbaiki" ini untuk satu atau pengguna lain. Sebagian besar "perbaikan" tampaknya terkait dengan pembaruan dari berbagai jenis kernel. Di mana pembaruan dapat dilacak ke masalah tertentu, tampaknya sering kali ada beberapa driver atau layanan kernel yang telah ditambal untuk tidak melakukan kesalahan: Saya memiliki kesan bahwa ada banyak hal dalam kernel yang dapat menyebabkan perilaku yang diamati sebagai penggunaan pekerja yang berlebihan.
Jika Anda menemukan sistem tidak dapat digunakan karena aktivitas pekerja yang berlebihan, saya akan merekomendasikan mencoba melakukan lebih sedikit hal. Jika Anda merasa tidak melakukan apa-apa, coba matikan layanan atau timer yang sudah berjalan lama (pembaca RSS, pembaca surat, 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 pra-boot, coba matikan perangkat keras yang tidak Anda gunakan. Jika itu terjadi pada setiap restart sebelum Anda melakukan sesuatu, Anda dapat mencoba menghapus instalan sesuatu, tetapi pada titik ini Anda ingin menjalankan alat profil syscall untuk melacak aplikasi tertentu yang tampaknya menyebabkan kelebihan ini.
Diharapkan bahwa sistem spesifik Anda akan berhenti mengekspresikan perilaku ini dengan peningkatan kernel di masa depan (dan banyak penyebab paling umum dari ini telah diselesaikan).
sumber
Apa itu pekerja?
kworker
berarti proses kernel Linux yang melakukan "bekerja" (memproses panggilan sistem). Anda dapat memiliki beberapa dari mereka dalam daftar proses Anda:kworker/0:1
adalah yang ada di inti CPU pertama Anda,kworker/1:1
yang ada di kedua Anda dll.Mengapa kworker memakan CPU Anda? Untuk mencari tahu mengapa seorang kworker membuang-buang CPU Anda, Anda dapat membuat backtrace CPU: perhatikan beban prosesor Anda (dengan
top
atau sesuatu) dan pada saat-saat beban tinggikworker
, jalankanecho l > /proc/sysrq-trigger
untuk membuat backtrace. (Di Ubuntu, ini mengharuskan Anda untuk masuksudo -s
). Lakukan ini beberapa kali, lalu saksikan backtraces di akhirdmesg
output. Lihat apa yang sering terjadi di backtraces CPU, semoga mengarahkan Anda ke sumber masalah Anda.Contoh: e1000e. Dalam kasus saya, saya menemukan jejak balik seperti ini hampir setiap waktu:
Ini mengisyaratkan saya untuk masalah dalam
e1000e
modul kartu Ethernet, dan memangsudo rmmod e1000e
membuat beban CPU tinggi segera hilang [ bug e1000e # 26 ].sumber
echo l > /proc/sysrq-trigger
tampaknya tidak bekerja pada proxmox berkata dengansysrq: SysRq : This sysrq operation is disabled.
sedih.Mengapa kworker memakan CPU Anda (lanjutan)? Sebagai alternatif untuk jawaban saya yang lain di sini , Perf adalah cara yang lebih profesional untuk menganalisis tugas-tugas kernel yang menghambat CPU Anda:
Pasang
perf
:(Paket kedua harus sesuai dengan versi kernel Anda. Anda dapat menginstal dulu
linux-tools-common
dan panggilperf
untuk memberi tahu Anda paket mana yang dibutuhkan.)Rekam 10 detik dari backtraces di semua CPU Anda:
Analisis rekaman Anda:
(Arahkan grafik panggilan dengan ←, →, ↑, ↓dan Enter.)
sumber
perf
saya melacak masalah kesd_mod
modul kernel. Menonaktifkan SCSI dalamvmx
file mencegah modul memuat dan mengembalikan sistem ke kecepatan normal:scsi0.present = "FALSE"
Hanya untuk memberi tahu semua orang. Saya mengalami masalah ini, diinstal perf (yang merupakan alat yang hebat), itu menunjuk ke penguncian berputar dan XFS. Itu menunjuk ke NFS. Kemudian saya menyadari salah satu tunggangan saya keluar dari ruang. Membebaskan ruang menyebabkan CPU kworker turun ke 0.
Jadi ternyata ini bisa menjadi gejala kehabisan ruang drive pada server NFS yang sibuk!
sumber
Saya baru-baru ini menginstal Ubuntu Natty pada drive eksternal paspor usb wd. Ketika saya mulai di desktop saya yang berusia sekitar dua tahun, semuanya bekerja seperti pesona. Ketika saya mulai menggunakan laptop baru saya (sistem MSI gt680r), komputer akan melambat setelah saya membangunkan komputer dari tidur, atau jika saya mencolokkan disk usb lain.
Proses kerja membutuhkan lebih banyak CPU, dan mouse membeku dari waktu ke waktu.
Saya telah membaca beberapa solusi di berbagai forum yang tidak berfungsi.
Saya masuk ke bios laptop saya, di mana ada:
Saya berubah untuk:
dan sejak itu, tidak membeku lagi di laptop saya.
Saya akan mengaktifkan kembali jika dan ketika masalah diperbaiki.
sumber
Saya pikir menonaktifkan Nepomuk dapat membantu Anda:
http://www.freetechie.com/blog/disable-nepomuk-desktop-search-on-kde-4-4-2-kubuntu-lucid-10-04/
sumber