คุณอยู่ในโซน ทำงานได้เต็มที่ และทันใดนั้น Mac เริ่ม Lag แอปพลิเคชันไม่เปิดเร็วเหมือนเดิม และการสลับแอปมีความล่าช้า
เพื่อเข้าใจว่าทำไม Mac ถึงทำงานแบบนี้ คุณน่าจะเปิด Activity Monitor และพบว่า CPU ของ Mac ทำงานเต็มที่ ทำให้ Mac 掙扎 (Struggle)
แตทำไม CPU Usage บน Mac จึงสูงมาก? เป็นเพราะ Process ที่ชื่อ WindowServer หรือไม่? มาหาคำตอบกัน
WindowServer บน Mac คืออะไร?
จากชื่อ คุณอาจคิดว่า WindowServer เกี่ยวกับอินเทอร์เน็ต เพราะ Server มักอยู่บน World Wide Web ช่วย Serve เว็บไซต์ที่เราหา
แต่จริงๆ แล้ว Process WindowServer บน Mac ไม่เกี่ยวกับอินเทอร์เน็ตเลย มันรับผิดชอบงานพื้นฐานสำคัญของ Mac - การวาด Windows (หน้าต่าง) บนหน้าจอของ Mac หมายความว่า Windows ทั้งหมดที่คุณเห็นบน Mac ถูก Render และ Managed โดย WindowServer
ดังนั้น เมื่อคุณเปิดแอปพลิเคชันบน Mac มันจะสื่อสารกับ WindowServer เพื่อสร้าง UI บนหน้าจอ หลังจากนั้น WindowServer จะจัดการ Transparency (ความโปร่งใส) เนื้อหา และ Elements อื่นๆ บนหน้าจอแบบ Dynamic
เพิ่มเติม Process นี้เริ่มทำงานทันทีที่ Mac เปิดเครื่อง เพราะมันรับผิดชอบ Render Dock, macOS Menu Bar และไอคอนทั้งหมดบน Desktop
ทั้งนี้แสดงว่า WindowServer เป็น Mission-critical Process และ CPU Usage ของ Process นี้สัมพันธ์โดยตรงกับจำนวน Desktops และ Windows บน Mac
ดังนั้น หากคุณเปิดแอปหลายตัว หรือใช้ Multiple Displays WindowServer จะใช้ทรัพยากร CPU มาก
แต่คุณจะเช็คว่า WindowServer ใช้ทรัพยากรเท่าไหร่ได้อย่างไร? มาดูด้านล่าง
วิธีเช็ค CPU Usage ของ WindowServer
ตอนนี้เรารู้ว่า WindowServer คืออะไร เราสามารถตรวจสอบได้ว่า Process นี้ใช้ทรัพยากรฮาร์ดแวร์ของ Mac เท่าไหร่ ทำตามขั้นตอนง่ายๆ ด้านล่าง:
- ใช้ Shortcut Command + Space เปิด Spotlight ค้นหา Activity Monitor

- ค้นหา WindowServer และ Double-click เพื่อดู CPU และ Memory Usage ของ Process

как đã 解说 (As explained earlier) WindowServer อาจใช้ CPU Cycles มากได้ แต่ถ้าแอปบน Mac ทำงานถูกต้อง Process ควรใช้ 10-30% ของ Computing Power ของ CPU
반대로 (On the contrary) หากแอปบน Mac มี Bug อาจทำให้ WindowServer ใช้ Computing Power มากขึ้น แต่นี่คือวิธีแก้ไข
11 วิธีลด CPU Usage ของ WindowServer
หาก Process WindowServer บน Mac ใช้ CPU Cycles มาก คุณสามารถทำตามเคล็ดลับด้านล่างเพื่อลดลง
1. ทำความสะอาด Desktop
การวางไฟล์บน Desktop สะดวก ช่วยเข้าถึงไฟล์ง่ายและได้ภาพรวมของไฟล์ที่ใช้บ่อย แต่ถ้าคุณมี Elements เยอะบน Desktop WindowServer ต้อง Render ทั้ง Icons และ Windows ที่คุณกำลังทำงาน
ดังนั้น หากคุณมี Icons เยอะบน Desktop ให้ย้ายไปที่อื่น หรือลบหากไม่จำเป็น การทำอย่างนี้จะลด Load บน CPU ขณะ Render Windows บน Desktop
2. ลดจำนวน Desktops (Spaces)
การมีหลาย Desktops พร้อมแอปต่างๆ อาจทำให้คุณเป็น Productivity Maestro แต่ถ้าคุณมีหลาย Desktops อาจลืมบาง Desktop ไปได้
เพราะนี้ WindowServer ต้อง Paint Windows เพิ่มเติมที่คุณไม่ได้ใช้ เพิ่ม Load ให้ Process WindowServer
เพื่อแก้ปัญหานี้ ให้เปิด Mission Control โดยกด F3 และ Hover Cursor บน Desktop ที่ไม่ค่อยใช้ จะมีไอคอน "x" ปรากฏ คลิกเพื่อปิด Desktop นั้น
3. ลด Motion และ Transparency
แอปบน Mac มีพื้นหลังโปร่งใส ทำให้ดูสวยงาม แต่ต้องแลกมาด้วย CPU Cycles เพิ่มเติม
ดังนั้น การลด Transparency ของแอปสามารถทำให้ CPU Usage ของ WindowServer ลดลง
เพื่อลด Transparency และ Motion บน Mac ทำตามขั้นตอน:
- เปิด System Settings โดยเปิด Spotlight ด้วย Command + Space หรือเปิดจาก Dock

- คลิก Accessibility > Display และเปิด Toggle Reduce motion และ Reduce transparency

4. ปิด Separate Spaces สำหรับ External Displays
การต่อ External Displays เพิ่มประสิทธิภาพการทำงานได้มาก แต่แลกมาด้วย CPU Cycles เพิ่มเติม
จำไว้ว่า External Monitor ยังพึ่งพา CPU ของ Mac ในการ Output Display ดังนั้น Windows ทั้งหมดบน External Monitor ต้องถูก Draw โดย WindowServer บน Mac
ดังนั้น การมี External Monitor ใส่ Load มากให้ระบบ เพิ่มเติม การมี Separate Spaces สำหรับ External Display เพิ่ม Load อีก เพราะต้อง Manage และ Render Desktops ใหม่
เพื่อลด Load บน CPU เมื่อต่อ External Monitors ทำตามขั้นตอน:
- ไป System Settings บน Mac จาก Dock หรือ Spotlight Search
- คลิก Desktop & Dock และปิด Toggle Displays have separate Spaces

คุณต้อง Log Out และ Log In ใหม่ เพื่อให้การเปลี่ยนแปลงมีผล
5. ลบแอปที่มีปัญหาออกจาก Mac
หาก CPU Usage ของ WindowServer เพิ่มขึ้นเมื่อคุณเปิดแอปบางตัว แอปที่มี Bug อาจเป็นตัวทำให้เกิดปัญหาทั้งหมด
ดังนั้น หากคิดว่าแอปบางตัวเพิ่ม CPU Load ให้ลบมัน หรือติดต่อ Developer เพื่อหาวิธีแก้
6. ตรวจสอบ Updates
การใช้ macOS เวอร์ชันเก่า ทำให้เกิดปหลายปัญหา บางกรณีอาจทำให้ WindowServer ใช้ CPU Cycles สูงขึ้น
เพื่อแก้ไข ให้ไปที่ System Settings > General > Software Update
7. Restart Mac ของคุณ
ผู้ใช้ Mac นادر Restart ระบบ เพราะมันทำงานได้ดีโดยไม่ต้อง Restart แตการ Restart เป็นความคิดดี หาก WindowServer ใช้ Computing Power มาก
การทำอย่างนี้ Restart ทุก Memory Systems บน Mac และลบ Issues ที่อาจ Hog CPU หรือ Memory Systems
เพื่อ Restart Mac ให้คลิก Apple Menu และเลือก Restart จาก Dropdown หรือกดค้าง Power Button
อย่างไรก็ตาม หาก Mac ค้างจาก CPU Usage สูง สามารถใช้ Advanced Ways เพื่อ Restart หรือ Force Shut Down ได้
8. ตรวจสอบว่าแอปบน Mac อัปเดตแล้วหรือยัง
บ่อยครั้งที่มีแอปเก่าบน Mac ทำให้เกิดปัญหากับ WindowServer เพราะแอปเก่าไม่สามารถสื่อสารกับ macOS เวอร์ชันใหม่ได้ถูกต้อง
ดังนั้น คุณสามารถไป App Store > Updates > Update All เพื่ออัปเดตแอปพลิเคชัน หากคุณใช้ Homebrew ให้พิมพ์คำสั่งนี้ใน Terminal:
brew update
9. ปิด ProMotion บน Mac
Image Credit: Apple
หากคุณมี Mac ที่มีหน้าจอ ProMotion เช่น MacBook Pro 14 หรือ 16 นิ้ว การปิด ProMotion และลด Refresh Rate อาจลด CPU Usage ของ WindowServer
วิธีทำ: ไป System Preferences > Displays > Refresh Rate แล้วเลือก Refresh Rate ที่ต้องการ
10. ลบ Cache บน Mac
ทุกแอปบนระบบสร้าง Temporary Data เพื่อทำงานถูกต้อง ไฟล์เหล่านี้เรียกว่า Cache Files แม้จะทำให้แอปทำงานได้ แต่มันก็อาจทำให้ระบบ Malfunction
ในกรณีนี้ ไฟล์เหล่านี้อาจเพิ่ม CPU Usage ของ WindowServer บน Mac
เพื่อลบไฟล์เหล่านี้ ให้เปิด Finder คลิก Go บน Menu Bar กดค้าง Option และคลิก Library ใน Dropdown Menu แล้วเปิดโฟลเดอร์ Caches และลบไฟล์ทั้งหมดที่นี่
11. รีเซ็ต SMC บน Mac
System Management Controller (SMC) จัดการ Low-level Functionalities ที่เกี่ยวกับ Mac หนึ่งในงานคือจัดการ Display เมื่อคุณยกฝาเปิด
ดังนั้น ปัญหาใน SMC อาจทำให้ CPU Usage สูงของ WindowServer บน Mac จึงอ่านคู่มือเฉพาะของเราเกี่ยวกับการ Reset SMC บน Mac
Mac ยังช้าอยู่หรือไม่?
แม้ WindowServer อาจทำให้ Mac ช้า แต่อาจมีหลายเหตุผลอื่นที่ระบบไม่ส่งมอบ Performance เหมือนเดิม
เพื่อปรับปรุง Performance คุณอาจดูที่ Storage Systems หรือซื้อ Mac ใหม่ หากใช้เครื่องปัจจุบันมาหลายปีแล้ว