ทำไมเคอร์เนลจึงใช้ CPU มาก


26

ฉันมี Macbook Pro Retina พร้อมฮาร์ดแวร์ดังต่อไปนี้:

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

ฉันเพิ่งอัปเดตเป็น OS X El Capitan; ฉันมีปัญหาเดียวกันเกิดขึ้นกับฉันสองครั้งแล้วและมันทำให้ฉันกังวลอย่างอ่อนโยน

ฉันสุ่มมี spikes การใช้งาน CPU จาก kernel_task ที่สูงที่สุดที่ฉันเคยเห็นคือ 660% CPU นี่เป็นการตั้งค่าที่ไม่เป็นที่ยอมรับและไม่เป็นธรรมชาติสำหรับซีพียูของฉัน (โดยทั่วไปฉันมีการใช้งานทั้งหมดประมาณ 2-3%) ภาพหน้าจอสูงสุดที่ฉันมีคือ:

ป้อนคำอธิบายรูปภาพที่นี่

ครั้งแรกที่ฉันไม่ได้บันทึกสิ่งที่ฉันเปิด อย่างไรก็ตามในครั้งต่อไปฉันพร้อมแล้วและนี่คือรายการที่แน่นอนของสิ่งที่ฉันเปิด:

  • หน้าวิดีโอ YouTube สองหน้า (ใช้กระบวนการเครือข่าย Safari ที่มี CPU สูงสุด 44% โดยทั่วไปมีความเสถียรที่ 8-10% และhttps://www.youtube.comสูงถึง 51% CPU สูงสุดประมาณ 10-12%)
  • ผู้สื่อสาร. ไม่ต้องสงสัยเลยว่านี่จะมีผลกระทบ แต่เดี๋ยวก่อนคุณไม่เคยรู้
  • Skype เพื่อนคนนี้ทำงานที่การใช้งาน CPU 50% ที่สอดคล้องกัน

เป็นที่น่าสังเกตว่าฉันต้องปิดหน้าต่าง YouTube ทั้งสองเพื่อให้ได้การควบคุมเครื่องคอมพิวเตอร์ที่เพียงพอเพื่อเปิดการตรวจสอบกิจกรรม ไม่มีกระบวนการใดที่กล่าวมาข้างต้นที่น่าตื่นเต้นเพียงแค่ kernel_task

แฟน ๆ ของฉันก็น่าสังเกตด้วย - แฟน ๆ อยู่ในระดับสูงสุดเป่าลมเย็น ถึงแม้ว่า kernel_task จะหมุนที่ CPU 660% แต่ก็ไม่มีความร้อนเกิดขึ้นเท่าที่ฉันเห็น

มันมาถึงจุดนี้แล้วที่ฉันบังคับให้ปิดเครื่องคอมพิวเตอร์ - ฉันมีประมาณ .5 เฟรมต่อวินาที (1 เฟรมทุก 2 วินาที, กำลังดูนาฬิกา) และไม่มีที่ไหนเลยเมื่อมันมาถึงแม้จะพยายามแก้ไข

หากมีข้อผิดพลาดที่เกี่ยวข้องกับสิ่งนี้ที่ฉันพลาดไปหรือสิ่งแปลกประหลาดกับ OS X โดยทั่วไปที่ฉันหายไปโปรดแจ้งให้เราทราบเนื่องจากนี่เป็นสิ่งที่น่าหงุดหงิดและรบกวนมากกว่าเล็กน้อย

คำตอบ:


23

คุณมีอาการคลาสสิคที่ปัญหาด้านความร้อนทำให้งานเคอร์เนลใช้งาน CPU ล่วงหน้าเพื่อป้องกันความร้อนสูงเกินไป หากคุณยังไม่ได้รีเซ็ต SMC ให้ลองใช้ครั้งเดียว หาก System Management Controller ติดค้างจริง ๆ การตอบสนองต่อการเปลี่ยนแปลงการตรวจวัดความร้อนอาจล่าช้าหรือปล่อยให้เครื่องเป่าลมสูงกว่าที่ควรจะเป็น

คำตอบข้างต้นชี้ไปที่สิ่งต่าง ๆ ที่คุณสามารถทำได้เพื่อวัดการแลกเปลี่ยนกระบวนการ ฯลฯ ... แต่มุ่งเน้นไปที่เซ็นเซอร์ความร้อน (ปัญหาฮาร์ดแวร์) หรืออุณหภูมิภายนอก (สภาพแวดล้อม) ซึ่งคุณสามารถทำให้เย็นลงเพื่อกำจัดความช้าที่ออกแบบมาเพื่อจัดการความร้อน .

หากคุณไม่สามารถวัดอุณหภูมิของเคสได้อย่างแม่นยำด้วยเครื่องวัดอุณหภูมิอินฟราเรดลองใช้ซอฟต์แวร์เช่นhttps://bjango.com/mac/istatmenus/เพื่อตรวจสอบเซ็นเซอร์อุณหภูมิแต่ละตัวและสัมพันธ์กับ "spikes ในการใช้งาน CPU" โดย kernel_task . นอกจากนี้การตั้งค่า SMC ครั้งเดียวอาจคุ้มค่าในขณะที่ หากติดขัดการตอบสนองต่อการเปลี่ยนแปลงการตรวจวัดอุณหภูมิอาจช้าลงหรือปล่อยให้เครื่องเป่าลมอยู่สูงกว่าที่ควรจะเป็น


ดูเหมือนจะไม่เป็นปัญหา แต่แฟน ๆ กำลังเป่าลมเย็นออกจากช่องระบายอากาศอย่างสมบูรณ์แบบ นอกจากนี้เมื่อทดสอบกับการบู๊ตภายนอก Ubuntu 15.04 ไม่มีการใช้งานแบบแหลมคมในการใช้งานพัดลมหรือการอ่านค่าอุณหภูมิ คุณแนะนำว่า a) เครื่องวัดอุณหภูมิกำลังคำนวณผิดหรือ b) มีความผิดปกติกับการตอบสนองของพัดลมหรือไม่? หรืออย่างอื่นอย่างสิ้นเชิง?
Addison Crump

@VTCAKAVSMoACE ใช่ - อากาศเย็นย้ำว่าเซ็นเซอร์มีข้อบกพร่องในการประมาณของฉัน มีความเป็นไปได้ที่ SMC จะสับสนดังนั้นลองรีเซ็ตใหม่อีกครั้ง
bmike

ฉันรีเซ็ต SMC และตรวจสอบแล้ว (LED เปลี่ยนดังนั้นมันเกิดขึ้นแน่นอน) หาก kernel_task ล้มเหลวอีกครั้งภายในสองวันถัดไปฉันจะแจ้งให้คุณทราบ มิฉะนั้นฉันจะทำเครื่องหมายคำตอบนี้เป็นคำตอบ
Addison Crump

2
ฉันสามารถพูดได้ด้วยความมั่นใจเกือบเต็มว่าการรีเซ็ต SMC ทำงาน ฉันผลักคอมพิวเตอร์ของฉันให้ถึงขีด จำกัด ของซีพียูในการสร้างความร้อนและมันก็ใช้ได้ดีเช่นเดียวกับการใช้งานปกติ ฉันจะแก้ไขครั้งสุดท้ายเพื่อให้สามารถเข้าถึงได้ง่ายขึ้นและง่ายขึ้นในการค้นหาและทำเครื่องหมายคำตอบนี้
Addison Crump

การรีเซ็ต SMC ทำงานให้ฉัน
Julian A.

2

ดูแฟน ๆ ของคุณ! สำหรับ Macbook Pro ของฉัน (2015) มันไม่ใช่ปัญหาซอฟต์แวร์ Mac ใช้ไม่ได้อย่างสมบูรณ์ ฉันเปิด Macbook ปัดฝุ่นแฟน ๆ ด้วยแปรงสีฟัน ฉันยังทำความสะอาดฮีทซิงค์ด้วย หลังจากถอดแผงระบายความร้อนออกแล้วฉันพบว่าแผ่นวางความร้อนแห้ง ฉันทำความสะอาดเพสต์แบบเก่าและวางเพสต์ใหม่ด้วยความระมัดระวัง ผลลัพธ์: ไม่มีปัญหากับ kernel_task แฟน ๆ เปลี่ยนความเร็วจาก 6,000 RPM เป็น 2,000 RPM (เงียบสนิท)


1

ประสบการณ์ของฉันสนับสนุนทฤษฎีที่ว่าการใช้งาน CPU มากเกินไปทำให้ kernel_task ทำงานสูง ในกรณีของฉันมักจะเกิดขึ้นเมื่อฉันเปิดหน้าต่างเบราว์เซอร์มากเกินไปหรือเล่นวิดีโอ YouTube

การปิดหน้าต่างหรือแอพมักจะแก้ปัญหาได้

วิธีอื่น ๆ ในการทำให้สิ่งต่างๆเย็นลง:

  • ความเร็วพัดลมที่สูงขึ้น ฉันใช้Macs Fan ControlจากCrystalIdeaเพื่อเพิ่มความเร็วพัดลมพื้นฐานของฉันด้วยตนเองถึง 2,500 รอบต่อนาทีหรือ 3,000 รอบต่อนาทีหากจำเป็น

  • การใช้แผ่นทำความเย็นสำหรับแล็ปท็อปของคุณ

  • เครื่องปรับอากาศ! อุณหภูมิภายนอกมีผลต่ออุณหภูมิของคอมพิวเตอร์เช่นกัน

แก้ไข:ก่อนหน้านี้ฉันพูดว่า "ร้อนเกินไป" แทน "การใช้งาน CPU มากเกินไป" แม่นยำกว่าที่จะพูดว่า "การคาดการณ์ความร้อนสูงเกินไปตาม CPU ปัจจุบันและความเร็วพัดลม" เนื่องจากระบบควบคุมอุณหภูมิ Mac จะคำนึงถึงสิ่งเหล่านั้นด้วย


คอมพิวเตอร์ของฉันไม่ร้อนเมื่อ kernel_task ใช้เปอร์เซ็นต์ CPU มากตามที่กล่าวไว้ในคำถาม : P มันก็จริงพัดเย็นอากาศ
Addison Crump

ระบบควบคุมอุณหภูมิบน Macs นั้นจะมีการคาดการณ์ความร้อนสูงเกินไปเช่นกันขึ้นอยู่กับการใช้งาน CPU ในปัจจุบัน มันเปิดตัวการนัดหยุดงานยึดเอาเสียก่อนจึงจะพูด
jkdev

ฉันจะแก้ไขคำตอบเพื่อเปลี่ยน "ความร้อนสูงเกินไป" เป็น "การใช้งาน CPU มากเกินไป"
jkdev

1

อุณหภูมิสูงในส่วนหนึ่งของแชสซีจากการชาร์จพร้อมกับอุปกรณ์ต่อพ่วงที่เสียบเข้าไปอาจทำให้เกิดปัญหานี้อย่างน้อยใน 2560 MBP เพียงแค่ย้ายสายชาร์จจากด้านซ้ายไปยังพอร์ตที่เหมาะสมก็เพียงพอที่จะทำให้ฮอตสปอตเย็นลงและแก้ไขปัญหาได้ บนเครื่องที่มีการชาร์จ MagSafe ให้ลองถอดอุปกรณ์ต่อพ่วงออกจากพอร์ตด้านซ้ายจนกว่าแบตเตอรี่จะเต็ม

การใช้งานซีพียูไม่ได้เกี่ยวข้องกับเรื่องนี้เนื่องจากซีพียูร้อนแรงได้รับการควบคุมโดยลดความเร็วของนาฬิกาไม่ได้โดยการตั้งเวลาโหลดแบบไม่ใช้งาน

ดูที่/apple//a/363933/27135เพื่อพิสูจน์


0

นี่คือสิ่งที่คุณสามารถลองได้:

  1. รีบูต (คุณอาจทำไปแล้ว)
  2. ติดตั้ง OS X อีกครั้งจาก Recovery HD
  3. ลบแคชโดยทำตามคำสั่งเหล่านี้ใน Terminal rm -rf ~/Library/Caches
  4. ลบแคช Safari ทั้งหมด (เนื่องจากดูเหมือนว่า Safari อาจเป็นสาเหตุ)

แก้ไข: ดูเหมือนว่าคำตอบของ bmike นั้นแม่นยำกว่ามาก


ฉันเพิ่งติดตั้งมันเมื่อวันก่อน จะเป็นการลบแคชในทางทฤษฎีหรือไม่ (ไม่มีการแก้ไขสิ่งใดที่ El Capitan ใส่ไว้)
Addison Crump

เดี๋ยวก่อนขอโทษ ฉันรู้ว่าคุณหมายถึงอะไรตอนนี้ ฉันจะลบแคช ปัญหานี้ไม่เกิดขึ้นเพียงบางครั้ง (สองครั้งในสามวัน) ที่เกิดขึ้นเพื่อชี้แจง
Addison Crump

1
สิ่งเหล่านี้ไม่ได้เป็นสาเหตุของ kernel_task spiking การลบแคชจะทำให้สิ่งต่าง ๆ แย่ลงเนื่องจากระบบทำรอบ CPU เพื่อสร้างข้อมูลแคชใหม่
bmike

ใช่ - ฉันแอบมองในโฟลเดอร์แคชและฉันสามารถแน่นอนแนะนำว่าไม่ควรลบว่า นั่นอาจทำให้สิ่งสำคัญบางอย่างฉีกขาดหากคุณไม่ระวัง โปรดทราบว่าในคำตอบนี้
Addison Crump

@VTCAKAVSMoACE การลบแคชจะไม่ทำให้เกิดปัญหา
At0mic

0

จากประสบการณ์ของฉันkernel_taskcpu บนแล็ปท็อปของฉันเกิน 100% สามารถแก้ไขได้ด้วยการรีเซ็ต power block ของฉัน อย่างไรก็ตามฉันอาศัยอยู่บนเรือและมีแหล่ง AC ที่ไม่สอดคล้องกันเป็นครั้งคราว (อาการอื่นของโหมดความล้มเหลวนี้คือแล็ปท็อประบุว่าเสียบปลั๊ก แต่ไม่ชาร์จ)

หากแหล่งจ่ายไฟพบว่า AC ไม่น่าเชื่อถือก็จะหยุดชาร์จแล็ปท็อป ในการแก้ปัญหานี้ให้ถอดปลั๊กปลายทั้งสองด้านของแหล่งจ่ายไฟสักสองสามวินาทีจากนั้นเสียบกลับเข้าไปใหม่นั่นคือในกรณีของฉันแล็ปท็อปจะเริ่มชาร์จอีกครั้งและ kernel_taskหยุดกิน CPU และพัดลมหยุดหมุนมาก

ที่ดีที่สุดที่จะจับมันก่อนที่แล็ปท็อป (อย่างรวดเร็วดูเหมือน) แบตเตอรี่หมด

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.