หากคุณกำลังอ่านบทความนี้ แสดงว่าคุณอาจเจอปัญหาที่กระบวนการ "SearchProtocolHost.exe" ใช้ CPU สูงมากบนคอมพิวเตอร์ กระบวนการนี้คืออะไร? SearchProtocolHost เป็นส่วนหนึ่งของกลไกค้นหาของ Windows และเกี่ยวข้องกับการ Indexing บนคอมพิวเตอร์ของคุณ
Windows Search Indexer เป็นบริการที่ดูแลดัชนีของไฟล์ส่วนใหญ่บนคอมพิวเตอร์เพื่อเพิ่มประสิทธิภาพการค้นหา มันอัปเดตดัชนีอัตโนมัติโดยไม่ต้องมีการแทรกแซงจากผู้ใช้ ดัชนีนี้คล้ายกับดัชนีในหนังสือ คอมพิวเตอร์จะบันทึกไฟล์ทั้งหมดที่อยู่บนไดรฟ์ต่างๆ แทนที่จะไปค้นหาบนไดรฟ์ทุกครั้ง คอมพิวเตอร์จะอ้างอิงตารางดัชนี หาตำแหน่งไฟล์ และนำทางไปยังที่อยู่ที่บันทึกไว้ หากไม่พบในดัชนี จะเริ่มค้นหาทีละไดรฟ์
ปกติ Windows ถูกโปรแกรมให้เริ่ม indexing เมื่อคอมพิวเตอร์ idle ไม่ได้ทำงาน หากเห็นกระบวนการนี้ทำงาน ให้ปล่อยให้มันทำงานสักพัก หากทำงานต่อเนื่องเป็นเวลานาน ให้ลองวิธีแก้ไขด้านล่าง
วิธีที่ 1: ตรวจสอบแอปพลิเคชันบุคคลที่สามที่เพิ่งติดตั้ง
หากคุณเพิ่งติดตั้งแอปพลิเคชันบุคคลที่สามใหม่ๆ ให้ตรวจสอบว่ามันเป็นสาเหตุหรือไม่ มีแอปบางตัว เช่น 'iFilter for PDF's' ที่ทำให้บริการทำงานซ้ำๆ แอปเหล่านี้มีฟีเจอร์ที่กระตุ้น search service ให้ทำงานซ้ำ เราสามารถลองปิดใช้งานแล้วรัน troubleshooter ดูว่ามีปัญหาอื่นหรือไม่
- กด Windows + R พิมพ์ "appwiz.cpl" ในกล่องโต้ตอบ และกด Enter
- จะแสดงแอปพลิเคชันทั้งหมดที่ติดตั้งอยู่ ให้หา แอปที่เพิ่งติดตั้ง ก่อนที่จะสังเกตเห็น CPU สูง Either disable their services (Windows + R, พิมพ์ "services.msc", หาบริการและหยุด) หรือ uninstall จากหน้าต่างเดียวกัน
- กด Windows + S พิมพ์ "Windows Search" และเปิดแอป "Find and fix problems with Windows Search"
- เลือกทั้งสองตัวเลือก "Run as administrator" และ "Apply repairs automatically" กด Next และปฏิบัติตามคำแนะนำ
- หลัง troubleshooting เสร็จ ให้ restart คอมพิวเตอร์ และตรวจสอบว่า CPU usage แก้ไขได้หรือไม่ Windows search อาจ indexing สักพักหลัง troubleshooting ให้เวลาสักครู่ แต่ถ้า CPU usage ของ 'SearchProtocolHost.exe' ยังไม่หาย ให้ลองวิธีอื่นด้านล่าง
วิธีที่ 2: เปลี่ยน Indexing Options
คุณสามารถเปลี่ยน indexing options เองได้ หากลบ location ออกจาก checklist Windows จะไม่ index ไฟล์ที่ location นั้น การค้นหาอาจช้าลง แต่อาจช่วยแก้ปัญหาได้
- กด Windows + R พิมพ์ "Indexing options" และเปิดแอปพลิเคชัน
- คลิก "Modify" ที่มุมซ้ายล่าง
- คลิก "Show all locations" Location ที่ติ๊กถูก = กำลัง index อยู่ Uncheck location ใหญ่ๆ (เช่น local disk C) และ location อื่นๆ ที่อาจทำให้ search process spawn ซ้ำๆ กด OK บันทึกและออก
- Restart คอมพิวเตอร์ และตรวจสอบว่า 'SearchProtocolHost.exe' ยังใช้ High CPU อยู่หรือไม่
วิธีที่ 3: รัน SFC และ DISM Tool
อาจเจอ error นี้เพราะมี bad system configurations บนคอมพิวเตอร์ เนื่องจากความผิดปกติเหล่านี้ search process อาจ spawn ซ้ำๆ และทำให้ resource usage สูง เราสามารถรัน System File Checker (SFC) ตรวจสอบ integrity violations หาก SFC แก้ไขไม่หมด ให้รัน DISM tool ตรวจสอบ system health และ restore system files ที่หายไป
- กด Windows + R พิมพ์ "taskmgr" และ Enter เพื่อเปิด Task Manager
- คลิก File > "Run new task"
- พิมพ์ "PowerShell" และ ติ๊ก ตัวเลือก "Create this task with administrative privileges"
- ใน PowerShell พิมพ์ "sfc /scannow" และกด Enter กระบวนการอาจใช้เวลาสักพัก เพราะสแกนไฟล์ Windows ทั้งหมด
- หากเจอ error ว่า Windows พบ error แต่แก้ไม่ได้ ให้พิมพ์ "DISM /Online /Cleanup-Image /RestoreHealth" ใน PowerShell จะดาวน์โหลดไฟล์ที่เสียหายจาก Windows update servers และแทนที่ไฟล์เสียหาย กระบวนการนี้อาจใช้เวลาตาม internet ไม่ให้ cancel ใดๆ ให้รันจนเสร็จ
หากพบ error และแก้ไขได้ด้วยวิธีข้างต้น ให้ restart คอมพิวเตอร์ และตรวจสอบว่า CPU usage ของ 'SearchProtocolHost.exe' แก้ไขได้หรือไม่
วิธีที่ 4: ปิดใช้งาน Windows Search
ถ้าวิธีข้างต้นทั้งหมดไม่ได้ผล และ 'SearchProtocolHost.exe' ยังทำให้ CPU สูง เราสามารถลองปิด Windows Search ได้ หมายเหตุ: อาจไม่สามารถใช้ Windows search ได้ วิธีนี้มีข้อเสียแต่จะแก้ปัญหาได้แน่นอน
ก่อนปิด Windows Search แนะนำให้ลองปิด indexing ของทุก location ตามวิธีที่ 2 ก่อน Uncheck ทุก location และกด Apply จะปิด indexing แม้ค้นหาจะช้า แต่ยังค้นหาได้เมื่อต้องการ
- กด Windows + R พิมพ์ "services.msc" และ Enter
- หาบริการ "Windows Search" คลิกขวาเลือก "Properties"
- ตั้ง Startup type เป็น "Disabled" และ หยุด process โดยกดปุ่ม กด Apply และ restart คอมพิวเตอร์
- หลัง restart ตรวจสอบว่าปัญหาแก้ไขได้หรือไม่ สามารถเปิด Windows search กลับได้ด้วยขั้นตอนเดียวกัน