ผู้ใช้ Windows จำนวนมากรำคาญกับความช้าของเครื่อง ซึ่งมักเกิดจาก CPU ใช้หน่วยความจำมากเกินไปเพื่อรันแอปพลิเคชันที่ติดตั้งอยู่ โปรแกรมเฉพาะที่พบว่ากิน RAM หรือ CPU จำนวนมากคือ SearchIndexer.exe
มีมาตรการเบื้องต้นบางอย่างเพื่อป้องกันไม่ให้ SearchIndexer.exe ใช้หน่วยความจำเพิ่มเติม เช่น การปิดบริการจาก Task Manager และการตั้งค่า Affinity ที่จำกัดจำนวน Core ของระบบสำหรับโปรแกรม - ไม่ควรถือเป็นโซลูชันถาวร แต่เพียงพอที่จะแก้ปัญชั่วคราวสำหรับบางผู้ใช้
searchindexer.exe เป็นบริการในตัวของ Windows ที่จัดการการจัดทำดัชนี (indexing) ของเอกสารสำหรับ Windows Search ซึ่งขับเคลื่อนเครื่องมือค้นหาไฟล์ในตัวของ Windows ที่ขับเคลื่อนกระบวนการทั้งหมดจาก Windows Explorer ไปจนถึงกล่องค้นหาใน Start Menu รวมถึงฟีเจอร์ Libraries ด้วย
ก่อนปฏิบัติตามคู่มือนี้ หากปัญหาเพิ่งเริ่มขึ้น โปรดรอ 1-2 ชั่วโมงเพื่อดูว่าจะแก้เองได้หรือไม่ เนื่องจากอาจกำลังจัดทำดัชนีไฟล์อยู่ หากไม่แก้หลังจาก 2-3 ชั่วโมง (6-7 ชั่วโมง) ให้ดำเนินการตามขั้นตอนด้านล่าง
ในคู่มือนี้ เราจะอภิปรายวิธีการที่พิสูจน์แล้วว่าสามารถแก้ปัญหา CPU สูงจาก searchindexer.exe ได้
วิธีที่ 1: รีสตาร์ท Windows Search Service
กดค้าง Windows Key และ กด R ในกล่องโต้ตอบ Run พิมพ์ services.msc แล้วคลิก OK

ค้นหา Windows Search Service คลิกขวาที่มัน และเลือก Properties (คุณสมบัติ)

คลิก Stop (หยุด) แล้วเลือก Disable (ปิดใช้งาน) จากเมนูแบบเลื่อนลง

เมื่อเสร็จแล้ว รีบูตระบบ หลังจากระบบรีสตาร์ทแล้ว ไปที่ services.msc อีกครั้ง คลิกขวาที่บริการ และเลือก Properties ตั้งค่าบริการเป็น Automatic (Delayed Start) (อัตโนมัติ (เริ่มต้นล่าช้า)) และเริ่มบริการ
รอ และทดสอบดูว่า CPU Usage ที่ถูกใช้โดย searchindexer.exe ลดลงหรือไม่ หากปกติแล้ว คุณก็โอเค หากไม่ ให้ไป วิธีที่ 2
วิธีที่ 2: เปลี่ยนชื่อ korwbrkr.dll เป็น korwbrkr.bak
ทำตามวิธีที่ 1 เพื่อหยุด Windows Search Service จากนั้นคลิก Start และพิมพ์ CMD คลิกขวา cmd และเลือก Run As Administrator ใน Command Prompt ให้พิมพ์
cd C:\windows\system32
กด ENTER
จากนั้นพิมพ์ ren korwbrkr.dll korwbrkr.bak
เริ่ม Windows Search Service รีบูต PC และนี่ควรจะแก้ปัญหา
วิธีที่ 3: สร้าง Process DUMP เพื่อวิเคราะห์
หากไม่มีวิธีไหนได้ผล วิธีนี้จะช่วยได้ จริงๆ แล้ว วิธีที่ 2 มาจากวิธีนี้ ในวิธีนี้ เราจะสร้าง dump file ของกระบวนการ searchindexer.exe แล้วเปิดเพื่อวิเคราะห์ไฟล์เฉพาะที่ทำให้ CPU สูง
วิธีทำ: กดค้าง Windows Key และ กด R ในกล่องโต้ตอบ Run พิมพ์ taskmgr แล้วคลิก OK คลิกแท็บ Processes และค้นหา SearchIndexer.exe - คลิกขวา กระบวนการ และเลือก Create DUMP File
เมื่อเสร็จแล้ว จดตำแหน่งไฟล์ dump ต่อไป เปิดมันด้วย Debugger Tools [หรืออัปโหลดไป wikisend.com และส่งลิงก์ในคำถามใหม่ที่ eQuestions.net/ask] หากต้องการให้ผมวิเคราะห์ให้ มิฉะนั้น หากคุณทำได้เอง นี่คือตัวอย่าง output ของ dump ที่ทำให้สามารถระบุไฟล์ที่ทำให้ CPU สูงได้ ตามที่ระบุในวิธีที่ 2 (korwbrkr) - ไฟล์ภาษาเกาหลี ไม่ได้จำเป็นจริงๆ แต่อาจเกิดจาก Windows Updates
Loading Dump File [S:\Tools\SearchIndexer.exe.dmp] User Mini Dump File with Full Memory: Only application data is available Symbol search path is: *** Invalid *** **************************************************************************** * Symbol loading may be unreliable without a symbol search path. * * Use .symfix to have the debugger choose a symbol path. * * After setting your symbol path, use .reload to refresh symbol locations. * **************************************************************************** Executable search path is: Windows 8 Version 9200 MP (8 procs) Free x64 Product: WinNt, suite: SingleUserTS Built by: 6.2.9200.16384 (win8_rtm.120725-1247) Machine Name: Debug session time: Sun Nov 4 22:01:24.000 2012 (UTC – 7:00) System Uptime: 0 days 10:09:39.102 Process Uptime: 0 days 0:54:31.000 …………………………………… Loading unloaded module list … *** ERROR: Symbol file could not be found. Defaulted to export symbols for ntdll.dll – *** ERROR: Symbol file could not be found. Defaulted to export symbols for KERNELBASE.dll – ntdll!NtWaitForSingleObject+0xa: 000007fc`5b172c2a c3 ret
นอกจากนี้ ผมตรวจสอบเธรดปัญหาใน Process Hacker นี่คือ Stack trace:
0, ntoskrnl.exe!SeAccessCheck+0x1ef 1, ntoskrnl.exe!KeDelayExecutionThread+0xc32 2, ntoskrnl.exe!KeWaitForSingleObject+0x1cf 3, ntoskrnl.exe!_misaligned_access+0x809 4, ntoskrnl.exe!SeAccessCheck+0x280 5, ntoskrnl.exe!SeAccessCheck+0x4d1 6, korwbrkr.dll!DllUnregisterServer+0x2f48 7, korwbrkr.dll!DllUnregisterServer+0x243e 8, korwbrkr.dll+0x12173 9, korwbrkr.dll!DllUnregisterServer+0x1696 10, korwbrkr.dll!DllUnregisterServer+0x62f9 11, korwbrkr.dll!DllUnregisterServer+0x6117 12, korwbrkr.dll!DllUnregisterServer+0x5db9 13, korwbrkr.dll!DllUnregisterServer+0x5882 14, korwbrkr.dll!DllUnregisterServer+0x6fa0 15, mssrch.dll!DllGetClassObject+0x3feba 16, mssrch.dll+0x19425 17, kernel32.dll!BaseThreadInitThunk+0x1a 18, ntdll.dll!RtlUserThreadStart+0x21
อย่างไรก็ตาม ก่อนเปลี่ยนชื่อหรือจัดการกับไฟล์ ให้แน่ใจว่าไฟล์นั้นปลอดภัยที่จะจัดการ การค้นหา Google מהירה จะบอกว่าไฟล์นั้นคืออะไร วิธีนี้แนะนำเฉพาะผู้ใช้ขั้นสูงเท่านั้น