Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การแก้ไขปัญหา >> Apple

kernel_task คืออะไร ทำไมถึงรันบน Mac ของฉัน

Kernel เป็นหัวใจของ OS ทุกตัว อยู่ระหว่าง CPU, Memory, Hardware อื่นๆ และ Software Applications ที่ติดตั้งบนระบบ เมื่อ Mac เปิดเครื่อง Kernel จะเริ่มทำงานก่อน ทุกอย่างที่ระบบทำ จะผ่าน Kernel ที่จุดหนึ่งจุดหนึ่ง Kernel ควบคุม Launch Daemons/Services, Memory Management, Networking ฯลฯ Kernel Launch และ Kill Tasks ที่จำเป็น แล้ว Clear Memory หลัง Task ปิด ทุกกิจกรรมพื้นหลังนี้ปรากฏใน Activity Monitor (เหมือน Windows Task Manager) ภายใต้ชื่อเดียวคือ kernel_task "kernel_task" ประกอบด้วยการส่งข้อมูลผ่าน Network อ่าน/เขียน หรือ Tasks อื่นๆ จาก Applications หรือ System Software

kernel_task คืออะไร ทำไมถึงรันบน Mac ของฉัน

หากคุณทำงานที่ใช้ Processing Power มาก เช่น Convert วิดีโอ 4K อาจสงสัยว่าทำไมช้า เปิด Activity Monitor ดู กด Cmd + Space พิมพ์ "activity" จะโผล่ หรือหาได้ที่ Applications > Utilities

kernel_task คืออะไร ทำไมถึงรันบน Mac ของฉัน

คลิก Header คอลัมน์ %CPU เรียง Process ตาม CPU Usage สิ่งที่ใช้ CPU สูงจะอยู่บนสุด และจะเคลื่อนไหวตามงานพื้นหลังต่างๆ

High CPU Usage เป็นปัญหาก็ต่อเมื่อไม่คาดคิด ถ้า Run Game, ดูวิดีโอใน Browser, Edit วิดีโอ แล้ว CPU สูง ถือว่าปกติ แต่ถ้า Safari Tab เดียวหรือ Mac Process ใช้ CPU มากเกินไป มักหมายถึงมีบางอย่างผิดปกติ

สามารถ Kill Process ได้โดยคลิก Process แล้วคลิก "X" มุมซ้ายบน แต่ kernel_task Kill ไม่ได้ เพราะมันคือ Core ของ Operating System

kernel_task คืออะไร ทำไมถึงรันบน Mac ของฉัน

มันไม่ใช่ Process เดียว แตเป็นชุด Processes ภายใต้ Label เดียว macOS ทำหลายอย่างในพื้นหลัง: ส่ง/รับข้อมูล Network, อ่าน/เขียนข้อมูล, Indexing โฟลเดอร์/ดิสก์ใหม่สำหรับ Spotlight Search

Process นี้มักใช้ RAM มากในแท็บ Memory แต่ไม่ควรกังวล RAM Usage ขึ้นลงตามความต้องการ High CPU Usage อาจ Halt ระบบทั้งหมด และบางครั้ง Crash ระบบ เข้าใจว่าหงุดหงิด แต่ OS ทำอย่างนี้โดยเจตนา เพื่อป้องกัน CPU Overheat kernel_task ช่วยจัดการอุณหภูมิ CPU โดยทำให้ CPU ใช้งานไม่ได้สำหรับ Process ที่ใช้ CPU มาก มันไม่ได้ก่อให้เกิดเงื่อนไขเหล่านี้ เอง เมื่ออุณหภูมิ CPU ลดลง kernel_task จะลด CPU Usage เองอัตโนมัติ

หาก Mac ไม่ช้า ไม่ต้องกังวล Process นี้ใช้ CPU เพราะเป็นเรื่องปกติ Unused Memory ถูก kernel_task ใช้ทำ Caching Files OS สมัยใหม่บางครั้งใช้ CPU Power บ้าง

คือ kernel_task ไม่ได้ใช้ CPU Power มันแค่ป้องกัน Process ที่ใช้ CPU มากไม่ให้ใช้ เพื่อควบคุมอุณหภูมิ ทุกอย่างจะกลับมาปกติเมื่อออกจาก Danger Zone

แตจุดกังวลคือ kernel_task ใช้ทรัพยากรระบบส่วนใหญ่ตลอดเวลา และ Mac ช้า เพราะอาจมีปัญหา Kernel รีสตาร์ทได้แค่ Restart Mac และบางครั้ง Restart แก้ปัญหาได้

kernel_task คืออะไร ทำไมถึงรันบน Mac ของฉัน

แต่ถ้าพฤติกรรมยังคงอยู่ นี่คือแนวทางแก้ไข

วิธีแก้ kernel_task ใช้ทรัพยากรมาก

จะผ่านวิธีแก้ที่พบบ่อย สำหรับ High Usage และ Resource Consumption แบบเข้าใจง่าย

  1. เพราะ kernel_task คือ OS ของคุณ และ Kill Processes คือวิธีดีที่สุดปล่อยทรัพยากร Restart Mac แบบง่ายๆ จะแก้ปัญหาทันที
  2. ลอง สแกน Mac หา Malware ซึ่งอาจเป็นสาเหตุ
  3. หาก kernel_task ใช้ CPU/Memory มากตอนไม่ได้ทำอะไรพิเศษ มีปัญหาอื่นอยู่ ปกติมาจาก Third-party Kernel Extensions เรียกว่า "kexts" ใน macOS Modules นี้คือ Hardware Drivers และ Software บางอย่าง ที่ Interface โดยตรงกับ Kernel Kext ที่ผิดปกติ ทำให้ kernel_task ใช้ CPU มากเกินไป ทดสอบโดย Boot Mac ใน Safe Mode ปิด Mac แล้วเปิดค้าง Shift Key จะเห็น "Safe Boot" ที่ Login Screen Safe Mode ไม่โหลด Third-party kexts หาก Mac ไม่มีปัญหาใน Safe Mode แสดงว่าเจอสาเหตุ Uninstall 3rd-party Drivers/Software ที่ติดตั้งล่าสุด ดูว่าช่วยได้ไหม
    kernel_task คืออะไร ทำไมถึงรันบน Mac ของฉัน
  1. หาข้อมูลเพิ่มเติมใช้ Etrecheck รัน Diagnostics หลายสิบอย่าง รวม List Kexts ติดตั้งและรันอยู่ Uninstall ตัวที่คิดว่าเป็นสาเหตุ ดูว่าปัญหาแก้หรือไม่
    kernel_task คืออะไร ทำไมถึงรันบน Mac ของฉัน
  2. Application ที่มีนิสัยใช้ CPU มากและก่อให้เกิดปัญหานี้คือ Flash หาก Flash หรือ Browser Tabs ใช้ CPU มากพร้อม kernel_task ให้ Uninstall หรือ Disable Flash เลย ผลคือ Flash จะไม่ใช้ CPU ด้วย Bugs ต่างๆ และ kernel_task ไม่ต้อง Counter เพื่อเย็น CPU
  3. ลบ Startup Items ที่ไม่จำเป็น และ騰พื้นที่ Hard Drive
  4. Reset NVRAM บน Mac
  5. Reset System Management Controller (SMC)
    kernel_task คืออะไร ทำไมถึงรันบน Mac ของฉัน
  6. โฟกัส อุณหภูมิภายนอก (Environment) เย็นด้วยแอร์컨ดิชันเพื่อลด Slowdown ที่ออกแบบมาเพื่อจัดการความร้อน อุณหภูมิภายนอกส่งผลต่ออุณหภูมิคอมพิวเตอร์ด้วย
  7. ตรวจสอบ พัดลม ของ MacBook ทำความสะอาดพัดลม และ Heatsink เช็ค Thermal Paste ว่าแห้งหรือยัง เพิ่มความเร็วพัดลม
  8. ใช้ Cooling Pad สำหรับ Laptop
  9. อุณหภูมิสูงของส่วนใดส่วนหนึ่งของ Chassis จากการชาร์จพร้อม Peripherals เสียบอยู่ อาจก่อให้เกิดปัญหา ย้ายสายชาร์จจาก Port ซ้ายไปขวา เพียงพอที่จะเย็น Mac และอาจแก้ปัญหา บนเครื่องที่ชาร์จ MagSafe ลองถอด Peripherals จาก Port ซ้ายจนกว่า Battery จะเต็ม
  10. ลบ Caches โดยรันคำสั่งใน Terminal:
    "rm -rf ~/Library/Caches"
  11. ลบ Safari Caches หาก Safari อาจเป็นสาเหตุ
  12. Reset Power Block โดยเฉพาะหาก AC Source ไม่เสถียร โดยเฉพาะหาก Laptop แสดงว่าเสียบชาร์จแต่ไม่ชาร์จ เพราะ Power Supply หา AC ไม่น่าเชื่อถือ หยุดชาร์จ แก้โดยถอด Power Supply ทั้งสองข้าง สักครู่ เสียบกลับ อาจทำให้ชาร์จได้อีก และ kernel_task หยุดกิน CPU และ พัดลมหยุดหมุนเยอะลง

Workaround ที่มีความเสี่ยง

มี Workaround แปลกๆ ที่ย้ายไฟล์ System แต่ไม่แนะนำให้ย้าย เว้นแต่ปัญหาใหญ่มาก

  1. ไป "About this Mac" ใต้ Apple Logo มุมซ้ายบน เลือก More Info
    kernel_task คืออะไร ทำไมถึงรันบน Mac ของฉัน
  2. คลิก "System Report"
  3. บันทึกค่าหลัง "Model Identifier"
  4. ไปที่ Path นี้:
     Master Drive > System -Library > Extensions > IOPlatformPluginFamily.kext -Contents > Plugins > ACPI_SMC_PlatformPlugin.kext > Contents > Resources > (โฟลเดอร์ที่บันทึกขั้นที่ 3)
  5. Restart คอมพิวเตอร์ ควรเสร็จสิ้น

หาอะไรไม่ช่วย บางครั้งต้องหยุดเสียเวลา และ Re-install macOS ใหม่ทั้งหมด Reset Mac หรือไป Apple Store