ดังที่คนอื่น ๆ ชี้ไปแล้วเราสามารถเห็นได้จากสกรีนช็อตนั้นว่า CPU ที่ทำงานอย่างหนักนั้นใช้เวลาทั้งหมดในโหมดเคอร์เนล (สีแดง)
ใช้ Powershell ในฐานะผู้ดูแลระบบให้พิมพ์:
Get-Process | Select Name, PrivilegedProcessorTime | `
Sort-Object PrivilegedProcessorTime -Descending
กระบวนการที่ด้านบนของรายการคือกระบวนการที่ใช้เวลา CPU โหมดเคอร์เนลมากที่สุดในขณะนี้ หากกระบวนการนั้นไม่ใช่ "ระบบ" แสดงว่าคุณเพิ่งทราบว่ากระบวนการของโหมดผู้ใช้ใดทำให้เกิดการใช้งาน CPU นี้ หากกระบวนการที่มีเวลาประมวลผลที่มีสิทธิ์สูงสุดคือระบบซึ่งฉันสงสัยว่าเป็นกระบวนการแสดงว่ามันซับซ้อนกว่าเล็กน้อย
เปิด Process Explorer เลือกตั้งค่าเซิร์ฟเวอร์สัญลักษณ์ของคุณ ตรวจสอบให้แน่ใจว่าคุณใช้งานด้วยการยกระดับ UAC แบบเต็ม คลิกขวาที่ระบบ "กระบวนการ" และไปที่คุณสมบัติ จากนั้นไปที่แท็บเธรด เรียงลำดับเธรดตามการใช้งาน CPU เธรดที่ทำให้เกิดการทำงานของโหมดเคอร์เนลทั้งหมดควรอยู่ที่นี่ หากคุณดูโมดูลที่อยู่ในรายการที่อยู่เริ่มต้นควรให้เบาะแสเกี่ยวกับงานที่เกี่ยวข้อง ตัวอย่างเช่นถ้าเป็น NDIS.sys นั่นคือไดรเวอร์ของอินเทอร์เฟซเครือข่าย หากคุณตั้งค่าเซิร์ฟเวอร์สัญลักษณ์คุณควรเห็นชื่อของฟังก์ชั่นภายในโมดูล (ยกเว้นกรณีที่ไม่ใช่ของ Microsoft) คุณจะเห็นออฟเซ็ตตัวเลขจากที่อยู่เริ่มต้นของโมดูล
หรือใช้ Xperf จาก Windows Performance Toolkit เพื่อขัดจังหวะส่วนกำหนดค่า DPC ฯลฯ
xperf -on PROC_THREAD+LOADER+DPC+INTERRUPT
และหยุดการบันทึกด้วย xperf -d logfile.etl
Xperf แทนที่เครื่องมือ Kernrate เก่าและสามารถนำข้อมูลที่มีรายละเอียดมากมาให้คุณ
เมื่อซีพียูทำงานในโหมดเคอร์เนลส่วนใหญ่จะใช้รูทีนบริการขัดจังหวะ (ISR) เมื่อเกิดการขัดจังหวะการทำงานของโหมดผู้ใช้จะถูกหยุดชั่วคราวในโปรเซสเซอร์นั้นและ CPU จะรัน ISR ที่ลงทะเบียนไว้กับการขัดจังหวะนั้น หากคุณพบว่าซีพียูของคุณใช้เวลาในการขัดจังหวะมากเกินไปแสดงว่าไดรเวอร์อุปกรณ์ผิดปกติที่จำเป็นต้องได้รับการอัปเดต
สิ่งที่ทำให้ฉัน (ไม่มีการเล่นสำนวนเจตนา) เกี่ยวกับสถานการณ์นี้แม้ว่ามันจะดูเหมือนว่าสิ่งที่เคอร์เนลเธรดที่ทำสิ่งนี้ดูเหมือนว่าจะเป็นaffinitizedกับแกนเดียว ฉันสงสัยว่าทำไมดิสแพตเชอร์ดูเหมือนว่าจะกำหนดเวลาให้เธรดทำงานบนแกนนั้นโดยพลการเท่านั้น ดังนั้นฉันจึงมีความรู้สึกว่าเราต้องการค้นหาใครก็ตามที่เขียนไดรเวอร์อุปกรณ์นี้และแสดงวิธีการทำเธรด DPC และไม่ตั้งค่าความสัมพันธ์บนเคอร์เนลเธรด ฯลฯ อย่างชัดเจน