Mengapa kernel_task menggunakan banyak CPU?

26

Saya memiliki Macbook Pro Retina dengan perangkat keras berikut:

Model Name: MacBook Pro
Model Identifier:   MacBookPro11,1
Processor Name: Intel Core i5
Processor Speed:    2.4 GHz
Number of Processors:   1
Total Number of Cores:  2
L2 Cache (per Core):    256 KB
L3 Cache:   3 MB
Memory: 8 GB
Boot ROM Version:   MBP111.0138.B15

Saya baru saja memperbarui ke OS X El Capitan; Saya memiliki masalah yang sama terjadi pada saya dua kali sekarang dan itu membuat saya agak khawatir.

Saya secara acak memiliki lonjakan penggunaan CPU dari kernel_task, yang tertinggi yang saya lihat adalah CPU 660%. Ini sejujurnya merupakan pengaturan yang tidak dapat diterima dan tidak alami untuk CPU saya (saya biasanya memiliki total penggunaan sekitar 2-3%). Tangkapan layar tertinggi yang saya miliki adalah ini:

masukkan deskripsi gambar di sini

Pertama kali, saya tidak merekam apa yang saya buka. Namun, lain kali, saya siap, dan ini adalah daftar persis apa yang saya buka:

  • Dua halaman video YouTube (menggunakan proses Safari Networking dengan maks sekitar 44% CPU, biasanya stabil pada 8-10% dan https://www.youtube.com, yang mencapai sekitar 51% CPU maks, biasanya sekitar 10-12%)
  • Kurir. Diragukan apakah ini berpengaruh, tetapi, hei, Anda tidak pernah tahu.
  • Skype Bung ini berjalan pada penggunaan CPU 50% yang konsisten.

Perlu dicatat bahwa saya harus menutup kedua jendela YouTube untuk benar-benar mendapatkan kendali yang cukup atas komputer saya untuk membuka Activity Monitor. Tak satu pun dari proses tersebut yang spiking, hanya kernel_task.

Yang juga perlu diperhatikan adalah kipas saya - kipas angin berada pada posisi maksimum, meniupkan udara dingin. Meskipun kernel_task berputar pada CPU 660% , sejauh ini tidak ada panas yang dihasilkan , sejauh yang saya bisa lihat.

Itu pada titik di mana saya mematikan komputer secara paksa - saya memiliki sekitar 0,5 frame per detik (1 frame setiap 2 detik, melihat jam) dan tidak mendapatkan hasil ketika mencoba untuk memperbaikinya.

Jika ada bug terkait dengan hal ini yang saya lewatkan, atau hal aneh dengan OS X secara umum yang saya lewatkan, tolong beri tahu saya, karena ini sangat membuat frustrasi dan lebih dari sedikit mengganggu.

Addison Crump
sumber

Jawaban:

23

Anda memiliki gejala klasik bahwa masalah termal menyebabkan tugas kernel untuk terlebih dahulu menggunakan CPU untuk mencegah overheating. Jika Anda belum mereset SMC, coba satu kali . Jika Pengontrol Manajemen Sistem benar-benar macet, respons terhadap perubahan pengukuran termal mungkin tertinggal atau meninggalkan blower lebih tinggi dari yang seharusnya.

Jawaban di atas semua menunjuk pada hal-hal yang dapat Anda lakukan untuk mengukur swap, proses, dll ... tetapi fokus pada sensor termal (masalah perangkat keras) atau suhu eksternal (lingkungan) yang dapat Anda dinginkan secara artifisial untuk menghilangkan memperlambat yang dirancang untuk mengelola panas .

Jika Anda tidak dapat mengukur suhu kasing secara akurat dengan termometer inframerah, coba perangkat lunak seperti https://bjango.com/mac/istatmenus/ untuk memeriksa masing-masing sensor suhu dan menghubungkannya dengan "lonjakan penggunaan CPU" oleh kernel_task . Selain itu, mengatur ulang SMC satu kali mungkin bernilai saat Anda. Jika macet, respons terhadap perubahan pengukuran termal mungkin tertinggal atau meninggalkan blower lebih tinggi dari yang seharusnya.

bmike
sumber
Itu tampaknya tidak menjadi masalah, meskipun - para penggemar meniupkan udara sejuk keluar dari ventilasi. Juga, ketika menguji dengan boot eksternal Ubuntu 15.04, tidak ada lonjakan dalam penggunaan kipas atau pembacaan termal. Apakah Anda menyarankan bahwa a) termometer salah perhitungan atau bahwa b) ada kesalahan dengan respons kipas? Atau sesuatu yang lain sama sekali?
Addison Crump
@ VTCAKAVSMoACE Ya - udara dingin menegaskan bahwa sensornya salah dalam perkiraan saya. Mungkin saja SMC berantakan, jadi coba atur ulang itu sekali.
bmike
Saya telah mengatur ulang SMC dan memverifikasinya (LED berubah, jadi, itu pasti terjadi). Jika kernel_task tidak berfungsi lagi dalam dua hari ke depan, saya akan memberi tahu Anda. Kalau tidak, saya akan menandai ini sebagai jawabannya.
Addison Crump
2
Saya dapat mengatakan dengan kepastian yang hampir penuh bahwa pengaturan ulang SMC berfungsi. Saya telah mendorong komputer saya ke batas jauh CPU untuk menghasilkan panas dan itu benar-benar baik-baik saja, serta penggunaan normal. Saya akan melakukan edit terakhir untuk membuatnya lebih mudah diakses dan lebih mudah untuk menemukan dan menandai ini sebagai jawaban.
Addison Crump
Menyetel ulang SMC bekerja untuk saya.
Julian A.
2

Lihatlah penggemar Anda! Untuk Macbook Pro saya (2015) itu bukan masalah perangkat lunak. Mac benar-benar tidak dapat digunakan. Saya membuka Macbook membersihkan para penggemar dengan sikat gigi. Saya juga membersihkan heatsink. Setelah melepas heatsink, saya menemukan bahwa thermal paste itu kering. Saya membersihkan pasta termal lama dan menaruh beberapa pasta baru, dengan hati-hati. Hasil: tidak ada lagi masalah dengan kernel_task. Para penggemar beralih dari kecepatan tetap 6000 RPM menjadi 2000 RPM (keheningan total).

Fox5150
sumber
1

Pengalaman saya mendukung teori bahwa penggunaan CPU yang berlebihan menyebabkan kernel_task menjadi tinggi. Dalam kasus saya, sering terjadi ketika saya memiliki terlalu banyak jendela browser yang terbuka atau video YouTube diputar.

Menutup jendela atau aplikasi biasanya menyelesaikan masalah.

Cara lain untuk mendinginkan:

  • Kecepatan kipas lebih tinggi. Saya menggunakan Kontrol Kipas Mac dari CrystalIdea untuk secara manual meningkatkan kecepatan kipas dasar saya ke 2500 rpm konstan, atau 3000 rpm jika diperlukan.

  • Menggunakan bantalan pendingin untuk laptop Anda.

  • AC! Suhu di luar juga mempengaruhi suhu komputer.

EDIT: Saya sebelumnya mengatakan "terlalu panas" bukannya "penggunaan CPU yang berlebihan." Lebih akurat untuk mengatakan "diprediksi overheating berdasarkan CPU dan kecepatan kipas saat ini," karena sistem kontrol suhu Mac memperhitungkannya juga.

jkdev
sumber
Komputer saya tidak panas ketika kernel_task mengambil persentase CPU yang besar, seperti yang disebutkan dalam pertanyaan. : P Itu benar-benar meniup udara dingin .
Addison Crump
Sistem kontrol suhu pada Mac memperhitungkan perkiraan panas berlebih juga, berdasarkan penggunaan CPU saat ini. Ini meluncurkan serangan pendahuluan, sehingga untuk berbicara.
jkdev
Saya akan mengedit jawaban saya untuk mengubah "overheating" menjadi "penggunaan CPU yang berlebihan."
jkdev
1

Suhu tinggi di bagian sasis dari pengisian bersama periferal yang terhubung dapat menyebabkan masalah ini, setidaknya pada 2017 MBP. Cukup dengan memindahkan kabel pengisian daya dari kiri ke port kanan bisa cukup untuk mendinginkan hotspot dan menyelesaikan masalah. Pada mesin dengan pengisian MagSafe coba cabut periferal dari port kiri sampai baterai penuh.

Penggunaan CPU tidak ada hubungannya dengan hal ini, karena CPU panas dicekik dengan mengurangi kecepatan clock-nya bukan dengan menjadwalkan tanpa-beban op.

Lihat /apple//a/363933/27135 untuk bukti.

Adam
sumber
0

Inilah sesuatu yang dapat Anda coba:

  1. Nyalakan kembali (Anda mungkin sudah melakukannya)
  2. Instal ulang OS X dari Recovery HD
  3. Hapus cache dengan melakukan perintah-perintah ini di Terminal rm -rf ~/Library/Caches
  4. Hapus semua cache Safari (karena sepertinya Safari menjadi penyebabnya)

Sunting: sepertinya jawaban oleh bmike jauh lebih akurat.

At0mic
sumber
Saya baru saja menginstalnya beberapa hari yang lalu. Apakah menghapus cache secara teoritis akan berhasil? (tidak ada pengeditan yang dilakukan untuk apa pun yang dimasukkan oleh El Capitan)
Addison Crump
Tunggu, maaf. Saya menyadari apa yang Anda maksud sekarang. Saya akan menghapus cache. Masalah ini tidak persisten, hanya sesekali (dua kali dalam tiga hari) yang terjadi, untuk mengklarifikasi.
Addison Crump
1
Tak satu pun dari ini adalah akar penyebab spike kernel_task. Menghapus cache sebenarnya akan memperburuk keadaan ketika sistem melakukan siklus CPU untuk membangun kembali data yang di-cache.
bmike
Ya - Saya mengintip di folder Cache dan saya pasti bisa menyarankan untuk tidak menghapusnya. Itu benar-benar dapat menghancurkan beberapa hal penting jika Anda tidak hati-hati. Harap perhatikan bahwa dalam jawaban ini.
Addison Crump
@VTCAKAVSMoACE menghapus cache tidak akan mengacaukan apa pun.
At0mic
0

Dalam pengalaman saya, kernel_taskcpu yang melebihi 100% pada laptop saya dapat diatasi dengan mengatur ulang blok daya saya. Namun, saya tinggal di atas kapal dan memiliki sumber AC yang kadang tidak konsisten. (Gejala lain dari mode kegagalan ini adalah laptop menunjukkan itu dicolokkan, tetapi tidak mengisi daya.)

Jika catu daya menemukan AC tidak dapat diandalkan, ia akan berhenti mengisi daya laptop. Untuk mengatasinya, cabut kedua ujung catu daya selama beberapa detik, lalu hubungkan kembali. Hal itu (dalam kasus saya) menyebabkan laptop mulai mengisi ulang, dan kernel_task berhenti memakan CPU dan kipas berhenti berputar terlalu banyak.

Terbaik untuk menangkapnya sebelum laptop (tampaknya cepat) menjalankan baterainya.

Tyler A.
sumber