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

หยุด Kernel_task Overload: วิธีแก้ High CPU Usage บน macOS แบบรวดเร็ว

คุณเคยสังเกตไหมว่า พัดลมของ Mac เริ่มทำเสียงเมื่อคุณไม่ได้ทำอะไรเลย? และยิ่งรันนาน ยิ่งเสียงดังขึ้น? บางครั้ง กระบวนการ kernel_task ใช้ CPU มากกว่า 80% ทำให้คอมพิวเตอร์ทำงานช้า และทำให้แอปพลิเคชันอื่นๆ ค้าง ดังนั้น จะแก้ไข bug high CPU usage นี้ได้อย่างไร?

ในโพสต์นี้ เราพูดถึงว่า kernel_task คืออะไร และแชร์หลายวิธีช่วยลด kernel_task high CPU usage ของ Mac เพื่อให้มันทำงานราบรื่นอีกครั้ง เรายังจะแสดงวิธีตรวจจับและแก้ไข bug นี้อย่างง่ายดาย เพื่อให้คุณหยุดกังวลเกี่ยวกับปัญหา kernel_task high CPU usage บน Mac ของคุณ!

Kernel_Task บน Mac คืออะไร?

"Kernel_task บน Macbook Pro คืออะไร?" นั่นคือคำถามที่ผู้ใช้ macOS ถาม

Kernel_task 簡單地說 (simply put) รับผิดชอบรัน hardware และ software ทั้งหมดของคอมพิวเตอร์ของคุณ มันเหมือน conductor (ผู้ควบคุม) ที่ทำให้องค์ประกอบทั้งหมดของระบบของคุณซิงค์ร่วมกัน

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

เพราะมันรันกระบวนการหลายอย่างพร้อมกัน มันมีแนวโน้มที่จะใช้ processor บ่อย ซึ่งอาจสร้างความร้อนเพิ่มเติมภายในคอมพิวเตอร์และทำลาย hardware มันอาจทำให้ประสิทธิภาพโดยรวมช้าลงอีกด้วย

แต่ kernel_task ใน Activity Monitor คืออะไร และมันทำอะไรอยู่?

Kernel_Task ทำอะไร?

ส่วนใหญ่ของคนไม่ได้รู้ว่า ทุกครั้งที่พวกเขา double-click ไอคอนแอปพลิเคชันบนเดสก์ท็อปของ Mac พวกเขากำลังรันโปรแกรมหนึ่งโปรแกรม และโปรแกรมนั้นคือสิ่งที่คุณคิดอยู่: kernel_task

มันอาจไม่ใช่เรื่องใหญ่ — จริงๆ แล้วส่วนใหญ่ของคนอาจไม่ได้สังเกตว่า kernel_task ของพวกเขาใช้ processor power มากกว่าหนึ่งเปอร์เซ็นต์

แต่หากคุณสังเกตว่าคอมพิวเตอร์ของคุณช้าลงล่าสุด หรือ Activity Monitor ของคุณบ่งชี้ว่า kernel_task กำลังบริโภค processor time มากเกินไป เพราะเหตุผลบางอย่าง คุณอาจมีปัญหา เมื่อปล่อยไว้ kernel_task อาจระบายแบตเตอรี่หรือเพิ่มค่าไฟฟ้าด้วยการทำให้ processor ทำงาน overtime เพื่อทำ trivial tasks (งาน瑣碎)

โชคดีที่มีขั้นตอนง่ายๆ ที่คุณสามารถทำเพื่อแก้ไข kernel_task on Mac errors โดยไม่ต้องพึ่งพาซ่อมแซมมืออาชีพที่มีค่าใช้จ่ายสูง หรือรอช่างเทคนิคของ Apple นานๆ

Kernel_Task ควรใช้หน่วยความจำเท่าไหร่?

ก่อนที่คุณจะ panic เพราะเห็น high memory usage สำหรับ kernel_task คุณรู้ไหมว่า memory usage 多少 (how much) ถือว่าปลอดภัย?

Kernel_task เป็นโปรแกรมที่รันใน kernel mode มันสามารถเชื่อมโยงกับ hardware driver หรือ hardware interrupt handler ได้ โดยค่าเริ่มต้น ระบบปฏิบัติการส่วนใหญ่อนุญาตให้ kernel tasks ใช้ 100% ของหน่วยความจำที่มีอยู่ เพื่อป้องกันข้อผิดพลาดที่เกี่ยวข้องกับ memory address alignment และ page table updates เนื่องจาก virtual memory fragmentation

ดังนั้น หากคุณมีแอปพลิเคชันขนาดใหญ่มากที่ใช้มากกว่า 50% ของ system resources ทั้งหมด ไม่มีเหตุผลที่มันจะไม่ใช้ RAM ที่มีอยู่ทั้งหมด แม้จะไม่ต้องการ 100% ก็ตาม

Mac และคอมพิวเตอร์สมัยใหม่หลายเครื่องมาพร้อมกับ RAM 8GB+ และ 2-4 cores ที่ 4GHz+ แอปพลิเคชันสามารถใช้ประโยชน์จาก multi-core processors และ RAM จำนวนมากเหล่านี้โดยการใช้ทรัพยากรที่มีอยู่ทั้งหมด ปัญหาเดียวที่อาจเกิดขึ้นคือเมื่อแอปพลิเคชันเกิน allocated amount ของ RAM และเริ่มใช้ swap space บนดิสก์

วิธีแก้ปัญหานี้คือการจำกัดว่าแต่ละกระบวนการใช้ RAM มากน้อยแค่ไหน โดยการจำกัด assigned memory priority setting ตัวอย่างเช่น หากแอปต้องการ RAM 512MBs และไม่เคยเกินขีดจำกัดนั้น คุณสามารถตั้งค่า priority ให้ต่ำ เพื่อให้มันใช้ physical memory แค่ 512MBs

ทำไม Kernel_Task ถึง佔用 (Hog) หน่วยความจำ?

เราได้กำหนดปริมาณหน่วยความจำที่ปลอดภัยสำหรับ kernel_task แล้ว ตอนนี้ ทำไม kernel_task ถึงใช้หน่วยความจำมาก?

กระบวนการ kernel_task จะปรากฏในรายการ Activity Monitor ของคุณเมื่อมี kernel processing มาก เกิดจากซอฟต์แวร์ที่ทำงานผิดปกติและทำ extra work หรือบางอย่างผิดปกติ

Kernel_task จะใช้ system resources (หน่วยความจำและ processor time) ขณะทำงานเพื่อรันสิ่งต่างๆ ใน queue ของมัน หากมันยังคงทำงานสูงเป็นเวลานาน คุณควรดำเนินการ รวมถึงการรีสตาร์ทคอมพิวเตอร์

อย่างไรก็ตาม high kernel_task usage เป็นเรื่องปกติสำหรับผู้ใช้ OS X ใดๆ ที่บางจุด ไม่ต้องกังวล เว้นแต่จะเกิดบ่อย หรือคงอยู่สูงเป็นเวลานาน

ก่อนที่คุณจะ diagnose และ troubleshoot ปัญหา system resource ได้อย่างถูกต้อง คุณต้องเข้าใจก่อนว่าสิ่งใดก่อให้เกิดจริงๆ ในหลายกรณี out-of-control kernel process เพียงเป็นอาการของ underlying problem (ปัญหาฐาน) อื่น

Memory Fragmentation (การแบ่งส่วนหน่วยความจำ)

สาเหตุที่พบบ่อยที่สุดของการเห็น high kernel memory usage คือ memory fragmentation Memory fragmentation เกิดขึ้นเมื่อบล็อกหน่วยความจำทางกายภาพขนาดเล็กถูกจัดสรรและปล่อยคืนบ่อยจน พวกมันไม่มีโอกาสรวมตัวเป็น larger free blocks

การจัดสรรและการปล่อยคืนซ้ำๆ ของบล็อกเล็กๆ เหล่านี้ส่งผลต่อประสิทธิภาพโดยการต้องการ hard drive reads ในการจัดสรรแต่ละครั้ง แทนที่จะเป็น large contiguous memory reads System resources เช่น file cache และ page tables กลายเป็น fragmented ด้วย นำไปสู่ inefficiencies (ไม่ประสิทธิภาพ) เพิ่มเติม

เนื่องจาก fragmentation ประเภทนี้มี negative impact (ผลกระทบเชิงลบ) ต่อประสบการณ์ผู้ใช้และประสิทธิภาพระบบ เราแนะนำให้แก้ไข underlying cause (สาเหตุรากฐาน) ด้วยหลายแนวทาง:

  • Rebuild การติดตั้ง macOS ของคุณโดยใช้ Disk Utility ของ Apple หรือเครื่องมือบุคคลที่สามอย่าง MemToolkit หรือ iDefrag
  • ใช้ Trim Enabler เพื่อปรับปรุงอายุการใช้งาน SSD โดยการแก้ไข data loss ที่ไม่จำเป็น
  • ขยายพื้นที่ว่างบน boot volume ด้วย Storage Space Manager หรือแอปคล้ายๆ กัน
  • ดำเนินการบำรุงรักษาเป็นประจำด้วยฟีเจอร์ Purgeable State ของ Activity Monitor หรือแอปทำความสะอาด system cache ใดๆ

วิธีแก้ปัญหา Kernel_Task CPU Usage

ปัญหา high kernel_task CPU อาจเกิดกับเกือบทุกคนที่มี Mac ไม่กี่เดือนหลังจากซื้ออุปกรณ์ kernel_task ของคุณเริ่ม佔用 (hog) ทั้งหมดของพลังที่มีอยู่ของคอมพิวเตอร์ และคุณไม่มีแนวใจว่าทำไม แต่ไม่ต้องกังวล เพราะมีวิธีแก้ไขที่ง่าย อ่านต่อไป:

วิธีแก้ #1: บูทเข้า Safe Mode

เมื่อ Mac ของคุณเจอปัญหา kernel_task CPU usage คุณสามารถ reboot เข้า safe mode ได้โดยการกดค้าง Shift บนคีย์บอร์ดขณะคลิก Restart นี่จะปิดใช้งานซอฟต์แวร์บุคคลที่สามส่วนใหญ่ และช่วยให้คุณแก้ไขปัญหาที่ทำให้ระบบของคุณไม่เสถียรได้อย่างง่ายดาย

เพื่อบูทกลับ normal mode ให้ restart โดยไม่กดค้าง Shift เมื่อเครื่องของคุณเสถียรแล้ว เริ่มด้วยการลบโปรแกรมที่ไม่จำเป็น นอกจากนี้ คุณสามารถใช้โปรแกรมเพิ่มประสิทธิภาพ Mac อย่าง Outbyte MacAries เพื่อสแกน Mac หาปัญหาประสิทธิภาพอื่นๆ และขยายพื้นที่จัดเก็บ

วิธีแก้ #2: ลบ Local Time Machine Snapshots

Time Machine เป็น built-in backup tool สำหรับ macOS ที่อนุญาตให้คุณ backup ระบบของคุณไปยัง external hard drive หรือ Time Capsule มันสร้าง snapshots ของระบบของคุณเป็นระยะ ๆ ให้คุณกลับไปยังเวอร์ชันก่อนหน้าของคอมพิวเตอร์จากเมื่อ backup ล่าสุด

การลบ local Time Machine snapshots อาจทำให้คอมพิวเตอร์ของคุณเร็วขึ้นและแก้ไขปัญหา high CPU usage ได้ Snapshots เหล่านี้มี saved versions ของไฟล์ทั้งหมด ดังนั้นการลบพวกมันจึงสามารถขยายพื้นที่ดิสก์บนคอมพิวเตอร์ของคุณได้ด้วย

อย่างไรก็ตาม การลบ time machine backups ไม่แนะนำ หากคุณวางแผนที่จะ restore ข้อมูลที่ลบในอนาคต ดังนั้น ให้แน่ใจว่าสร้าง backup ใหม่ก่อนดำเนินการลบใดๆ

วิธีลบ Time Machine snapshots:

  1. เริ่มด้วยการเปิด Applications และหา Time Machine ภายใต้ Utilities บน macOS Sierra และเวอร์ชันก่อนหน้า ในเวอร์ชันใหม่กว่า เช่น El Capitan และใหม่กว่า ให้ไปที่ System Preferences > iCloud > Backup > Time Machine
  2. เลือก Time Machine ภายใต้ Destination Disk ที่มุมซ้ายบน
  3. ภายใต้ Backups ให้คลิก Select All แล้ว Delete (หรือเลือก snapshots เฉพาะ)
  4. หลังจากลบแล้ว ให้ตรวจสอบว่านี้แก้ปัญหาได้หรือไม่ หากได้ ดีมาก! หากไม่ ให้ลองวิธีแก้ไขอื่นๆ ที่กล่าวไว้ข้างต้น

วิธีแก้ #3: ลบ Application Log Files

MacOS เก็บ log files สำหรับแอปพลิเคชันทั้งหมด Logs เหล่านี้อาจโตใหญ่ตามเวลา และสุดท้ายก่อให้เกิดปัญหาประสิทธิภาพรุนแรง การลบไฟล์เหล่านี้ช่วยผู้ใช้หลายคนที่กำลังเผชิญกับ high kernel usage บน MacBooks และ iMacs

วิธีล้าง application logs:

  1. ก่อนอื่น ให้เปิด Finder และคลิก Go
  2. เลือก Go to Folder
  3. จากนั้นป้อน ~/Library/Logs/ และกด Enter
  4. ตอนนี้ ให้หา log files ที่มีขนาดใหญ่เกินไปและลบพวกมัน เพื่อให้กระบวนการง่ายขึ้น ให้พิจารณาเปลี่ยนเป็น List view และเลือก Size view เพื่อจัดเรียง log files ตามขนาด

วิธีแก้ #4: ลบ Connection Log Files

ทุกครั้งที่คุณเปิด connection มันจะสร้าง log file ใน ~/Library/Logs/Apple/com.apple.ncprefsd.log ซึ่งมีข้อมูลเครือข่าย รวมถึงสิ่งอื่นๆ คุณสามารถดูได้ว่าการเชื่อมต่อไหนมีปัญหาและ troubleshoot connection นั้น

แต่หากคุณมีหลายร้อยไฟล์ มันยากที่จะ 알아出 (figure out) ว่าตัวไหนมีปัญหาเมื่อดู logs ทุกวัน (โดยเฉพาะเมื่อค้นหาปัญหา)

การลบ old logs ช่วยสร้างพื้นที่มากขึ้นสำหรับ new ones ซึ่งจะทำให้ Mac ของคุณไม่ waste (เสีย) ทรัพยากรที่มีค่าบนการสร้างไฟล์เหล่านี้ นี่ก็ใช้ processing power ด้วย จำไว้ว่า log files สามารถลบได้หลังจาก restart เท่านั้น เพราะมันถูกล็อกจนกว่าจะ restart

วิธีลบ connection log files บน Mac:

  1. ไปที่ Finder และเลือก Go แล้วคลิก Go to Folder
  2. หลังจากนั้น ให้ป้อน folder path นี้: ~/Library/Containers/com.apple.mail/Data/Library/Logs/Mail
  3. กด Enter และลบ connection log files ในไดเรกทอรีนี้

วิธีแก้ #5: ล้าง System และ Application Cache

ในส่วนใหญ่ macOS แคชข้อมูลจากแอปพลิเคชันและกระบวนการระบบ เมื่อ cache files สะสมตามเวลา คอมพิวเตอร์ของคุณจะช้าลงขณะพยายามจัดเก็บข้อมูลชั่วคราวก่อนทิ้ง

เพื่อแก้ high CPU usage ที่เกิดจาก application cache files คุณสามารถลบ cache files เหล่านั้นได้ทุกเมื่อโดยไม่ต้อง reboot คอมพิวเตอร์เข้า safe mode นี่คือวิธี:

  1. เข้าถึง Finder และคลิก Go แล้วเลือก Go to Folder
  2. ต่อไป ให้ป้อน ~/Library/Caches/ และกด Enter เพื่อเปิด application cache
  3. ตอนนี้ ให้เปลี่ยนเป็น List view เพื่อให้ง่ายต่อการจัดเรียงไฟล์และโฟลเดอร์
  4. จากนั้นลบไฟล์ที่มีขนาดใหญ่เกินไปในโฟลเดอร์
  5. รีสตาร์ท Mac หากจำเป็น

วิธีแก้ #6: Rebuild Spotlight Index

ทุก 30 วันหรือประมาณนั้น Spotlight จะ index ทุกไฟล์บนคอมพิวเตอร์ของคุณ

วิธีตรวจสอบว่ากำลัง indexing อยู่หรือไม่:

  1. ไปที่ spotlight > status ควรจะบอกว่า indexing enabled ที่ด้านล่าง
  2. หากไม่ ให้ rebuild ได้โดยไปที่ spotlight > rebuild
  3. นี่จะใช้เวลาสักพัก ดังนั้นคุณควรทำเมื่อคุณรู้ว่าจะไม่ใช้ Mac เป็นระยะหนึ่ง

วิธีแก้ #7: รีเซ็ต NVRAM

NVRAM คือ short-term memory ของคอมพิวเตอร์ มันติดตามรายละเอียดสำคัญหลายอย่าง เช่น คุณมี RAM มากน้อยแค่ไหน และ IP address อะไรที่จะใช้เมื่อคุณเชื่อมต่อเครือข่าย หากคุณต้องการรีเซ็ต ให้แน่ใจว่าข้อมูลทั้งหมดของคุณถูก backup แล้วก่อนทำ

วิธีรีเซ็ต NVRAM ของคุณ ให้ปิดคอมพิวเตอร์และถอดปลั๊กจากแหล่งจ่ายไฟ ถอดสายหรือ ethernet cords ที่เสียบเข้าไป จากนั้นพลิกคอมพิวเตอร์ของคุณ และหาปุ่มที่มีลูกศรทแยงสองตัวชี้ในทิศทางตรงข้าม (อย่าง /) กดค้างปุ่มนั้นขณะกดปุ่มเปิดเพื่อเปิด Mac อีกครั้ง คุณจะได้ยินเสียง chimes สามครั้ง และเห็นหน้าจอสีรุ้งปรากฏ

วิธีแก้ #8: ติดตั้ง macOS ใหม่

บางครั้ง คุณแค่ต้องการ fresh start หาก Mac ของคุณช้าจริงๆ หรือมัน crash และไม่ยอมเริ่มต้น วิธีนี้อาจทำงานได้สำหรับคุณ

การ reinstall macOS น่าจะเป็น last resort (ทางเลือกสุดท้าย) เพราะเกี่ยวข้องกับการ wipe hard drive ทั้งหมดและสูญเสียทุกอย่างที่อยู่บนมัน อย่างไรก็ตาม หากไม่มีวิธีแก้ไขไหนข้างต้นทำงานได้สำหรับคุณ และคอมพิวเตอร์ของคุณช้าจนแค่ดู cursor กระพริบในความอดทน ในขณะที่กระบวนการอื่นๆ คลานช้าที่น้อยกว่าไม่กี่ frames per second การ reinstall macOS อาจเป็นตัวเลือกเดียว

สรุป

หวังว่าเราสามารถตอบคำถามของคุณเกี่ยวกับ what is kernel_task on Mac และ why is kernel_task so high ได้ หากคุณมีปัญหากับ kernel_task โปรดลองวิธีแก้ไขที่เราแนะนำข้างต้น พวกมันทำงานได้กับผู้ใช้ Mac หลายคน จึงคุ้มค่าที่จะลองบนของคุณด้วย!

คุณรู้วิธีอื่นๆ ในการกำจัดปัญหา kernel_task บน Macs ไหม? โปรดแชร์ด้านล่าง!