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

ทำความเข้าใจ WindowServer บน macOS: สาเหตุ CPU สูง & วิธีลดลง

บางครั้งเมื่อสังเกตว่า Mac ช้าลง คุณอาจเช็คกระบวนการทำงานในพื้นหลังผ่าน Mac Activity Monitor แล้วต้องพบว่า process WindowServer ใช้ CPU สูงมาก

คุณอาจสงสัยว่า ทำไม WindowServer ใช้ CPU มาก และ วิธีลด WindowServer high CPU usage บน Mac มาหาคำตอบกัน

สารบัญ:

  • 1. WindowServer บน Mac คืออะไร
  • 2. ทำไม WindowServer Mac CPU สูง
  • 3. วิธีเช็คว่า process WindowServer ใช้ CPU มากเกินไป
  • 4. วิธีลด WindowServer CPU usage บน Mac
  • 5. คำถามที่พบบ่อยเกี่ยวกับการแก้ WindowServer Mac CPU สูง

WindowServer บน Mac คืออะไร

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

อีกนัยหนึ่ง ทุกอย่างที่คุณเห็นบนหน้าจอ ถูกวางไว้โดย process WindowServer ทุกครั้งที่เปิดแอป เปิดหน้าต่างใหม่ หรือเล่นเกม WindowServer กำลัง redraw หน้าจออยู่

Process WindowServer เริ่มทำงานทันทีที่คุณล็อกอินเข้า Mac และหยุดเมื่อคุณล็อกเอาต์ เนื่องจากเป็น core macOS process แสดงว่ามีบทบาทสำคัญในระบบ การ force-kill WindowServer จะทำให้เกิดผลลัพธ์รุนแรง

ทำไม WindowServer Mac CPU สูง

เช่นที่กล่าว WindowServer วาดองค์ประกอบกราฟิกทั้งหมด และติดตามการเปลี่ยนแปลงทั้งหมดสำหรับตำแหน่งหน้าต่าง ไอคอนเดสก์ท็อป ฟอนต์ Spaces แอนิเมชัน visual effects ฯลฯ ยังรับผิดชอบ external displays ทั้งหมด

ดังนั้น มีหลายอย่างทำให้ WindowServer ใช้ CPU cycles มาก ปกติรวมถึง:

  • แอปพลิเคชันทำงานผิดปกติ
  • มีหลายจอแสดงผล
  • เดสก์ท็อปวุ่นวายกับไอคอน (แต่ละไอคอนต้อง redraw ทุกครั้งที่เนื้อหาหน้าจอเปลี่ยน)
  • Mac เก่าที่รัน macOS ล่าสุดและต่อสู้กับ visual effects บางอย่าง

วิธีเช็คว่า process WindowServer ใช้ CPU มากเกินไป

ถ้าอยากรู้ว่า process WindowServer ใช้ CPU อย่างแน่นอนเท่าไหร่ ทำได้ด้วย macOS built-in utility ชื่อ Activity Monitor:

  1. เปิด Finder ไป Applications > Utilities เปิด Activity Monitor
  2. คลิกหัวคอลัมน์ CPU ค้นหา 'WindowServer' ในคอลัมน์
    ทำความเข้าใจ WindowServer บน macOS: สาเหตุ CPU สูง & วิธีลดลง
  3. จะเห็น WindowServer CPU usage ถ้าใช้มากกว่า 50% ของทรัพยากร CPU รู้ว่าใช้ CPU cycles มากกว่าที่ควร ตามที่กล่าว ไม่สามารถ kill WindowServer process ได้เหมือน force quit งานอื่นบน Mac แต่ลองวิธีด้านล่าง ลด Activity Monitor WindowServer high CPU

วิธีลด WindowServer CPU usage บน Mac

ถ้าสังเกตว่า process WindowServer กิน CPU มาก และพบ Mac ช้า นี่คือวิธีแก้ปัญหา WindowServer Mac high CPU

วิธี 1: ลดจำนวนไฟล์ & โฟลเดอร์ที่เก็บบนเดสก์ท็อป

เช่น ถ้ามี 40 ไฟล์บนเดสก์ท็อปและ 5 โฟลเดอร์ ลองรวมทั้งหมดในโฟลเดอร์เดียว WindowServer จะโฟกัสที่องค์ประกอบภาพเพียง 1 แทนที่จะเป็น 45

วิธี 2: ปิดแอปและหน้าต่างที่ไม่ต้องการ

ยิ่งเปิด Windows & แท็บเบราว์เซอร์มาก ยิ่งกิน CPU มาก โดยเฉพาะ Mac เก่า WindowServer ต้องทำงานหนักกว่า ดังนั้น ปิด Finder windows และ browser tabs ที่ไม่จำเป็นเพื่อลดการใช้ทรัพยากร์

และถ้ามีแอปเปิดอยู่ที่ไม่ใช้แล้ว จำเป็นต้อง quit แอปเหล่านั้น ทำได้ง่ายโดยกด Command + Option + Escape เปิดเมนู Force-Quit เลือกแอปไม่จำเป็น คลิก Force Quit อย่าลืมเซฟไฟล์ก่อนปิดหน้าต่างหรือแอปเพื่อป้องกันสูญเสียข้อมูล

ทำความเข้าใจ WindowServer บน macOS: สาเหตุ CPU สูง & วิธีลดลง

วิธี 3: ปิดเอฟเฟกต์โปร่งแสงของ macOS

ฟีเจอร์เพิ่ม visual effects เสมอใช้ CPU cycles และ RAM มาก โดยเฉพาะ transparent effects ไม่สามารถปิด visual effects ทั้งหมดบน Mac ได้ แต่ปิด transparency ได้ผ่านแผง Accessibility ใน System Preferences แม้ Mac ไม่ได้ช้ามาก การทำนี้จะ boost เครื่องมาก

วิธีทำ:

  1. ไปเมนู Apple เลือก System Preferences
  2. ไป Accessibility ไปทาง Display
  3. ติ๊กถูก Reduce transparency
    ทำความเข้าใจ WindowServer บน macOS: สาเหตุ CPU สูง & วิธีลดลง

นี่จะ ลด WindowServer CPU usage บน Mac นอกจากนี้ ลองวิธีต่อไป

วิธี 4: หยุด Mission Control Spaces จัดเรียงตัวเอง

ถ้าใช้ Spaces ซึ่งเป็น virtual desktop environment บน Mac การป้องกัน spaces ไม่ให้จัดเรียงตัวเองตามการใช้งาน จะทำให้ WindowServer พฤติกรรมดีขึ้นมาก

วิธีทำ:

  1. ไป Apple Menu > System Preferences คลิก Mission Control
  2. ปิดการตั้งค่า Automatically rearrange Spaces based on most recent use
    ทำความเข้าใจ WindowServer บน macOS: สาเหตุ CPU สูง & วิธีลดลง

การเปลี่ยนแปลงเล็กน้อยนี้ ช่วย WindowServer มาก เพราะ Spaces ไม่ย้ายไปมาอัตโนมัติ ลดภาระบน Mac WindowServer ลดการใช้ CPU

วิธี 5: มีหลายจอแสดงผล? ปิด Spaces สำหรับแต่ละจอ

กรณีมี multiple-display setup ถัดไปที่ควรลอง ลด WindowServer CPU usage บน Mac คือ:

  1. คลิกโลโก้ Apple เปิด System Preferences ไป Mission Control
  2. ปิดการตั้งค่า Displays have separate spaces
    ทำความเข้าใจ WindowServer บน macOS: สาเหตุ CPU สูง & วิธีลดลง
  3. ล็อกเอาท์ หรือรีบูท Mac ดีกว่า

วิธี 6: รีบูท Mac

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

การรีบูท Mac ยังแก้ปัญหา process บางอย่างกิน CPU มากเกินไป เช่น WindowServer high CPU หรือ kernel_task high CPU ดังนั้น รีสตาร์ท Mac โดยคลิก เมนู Apple เลือก Restart รอรีสตาร์ทเสร็จ เช็คว่า WindowServer Mac high CPU แก้แล้วหรือยัง

คำถามที่พบบ่อยเกี่ยวกับการแก้ WindowServer Mac CPU สูง

QHow do I fix WindowServer high CPU and memory usage Mac? A

ปกติมี 6 วิธีแก้ WindowServer Mac high CPU:
วิธี 1: ลดจำนวนไฟล์ & โฟลเดอร์บนเดสก์ท็อป
วิธี 2: ปิดแอปและหน้าต่างไม่จำเป็นทั้งหมด
วิธี 3: ปิด transparent effects บน Mac
วิธี 4: ป้องกัน Mission Control Spaces จัดเรียงตัวเอง
วิธี 5: ปิด 'Displays have separate Spaces' ใน Mission Control
วิธี 6: รีสตาร์ท Mac

QWhat happens if I quit WindowServer? A

Force-quit WindowServer จะปิดแอปที่ทำงานอยู่ทั้งหมด รีเฟรชระบบปฏิบัติการ และล็อกเอาต์คุณจาก Mac อย่าลอง quit WindowServer process เหมือนงานอื่น

QWhat is WindowServer activity on Mac? A

WindowServer บน Mac คืออะไร? ง่ายๆ คือ macOS process ที่วาดองค์ประกอบบนหน้าจอ ไม่ว่าจะเป็นหน้าต่างแอป ไอคอน หรือเว็บไซต์ ยิ่งเปิดหน้าต่างมาก ยิ่ง WindowServer ต้องการ CPU cycles มาก