แก้ไขปัญหาการใช้งาน CPU สูงโดยกระบวนการ“ ระบบ”


97

ฉันสังเกตเห็นว่าบางครั้งระบบของฉันค้างและอาจเกิดจากการใช้งาน CPU สูงซึ่งเกิดจากกระบวนการของระบบ

แอปพลิเคชันทั้งหมดที่ฉันใช้คือ Skype, TeamSpeak และ Chrome ดังนั้นจึงไม่ควรกินซีพียูในปริมาณที่แน่นอน

คุณสามารถเห็นปัญหาของตัวเองและกระบวนการทำงานในภาพหน้าจอด้านล่าง:

ป้อนคำอธิบายรูปภาพที่นี่

บางครั้งการใช้งาน CPU สูงถึง 90% แต่การใช้งานเฉลี่ยอยู่ที่ 40-65%

พารามิเตอร์พีซีของฉัน:

  • Windows 8 (ตัวอย่างลูกค้า)
  • Intel Core i3 - 2350M
  • RAM 8 GB

ฉันขอขอบคุณที่พยายามช่วย! ความนับถือ.

--UPDATE--

ในฐานะผู้ใช้ด้านล่างโพสต์คำตอบที่ดีฉันได้สังเกตเห็นว่ากระบวนการที่กินซีพียูมากที่สุดในระบบเรียกว่าArthurx.sysง่าย google บอกว่ามันเป็นไดรเวอร์ TPLink (อะแดปเตอร์ไร้สายฉันได้ซื้อไดรเวอร์ 2 สัปดาห์ที่ผ่านมา!) ได้รับการติดตั้งจาก Windows MSDN แต่ยังพยายามติดตั้งไดรเวอร์จากซีดีที่แนบมาด้วย แต่ก็ไม่ได้ช่วยอะไร ตั้งแต่เริ่มต้นระบบจะใช้งานเพียง 5% ของ CPU เท่านั้น แต่หลังจาก 2-4 ชั่วโมงในการทำงานมันก็จะโตขึ้นและสูงถึง 40-60% ของการใช้ CPU

ชื่ออุปกรณ์: TPLink WN722N


5
จุดสั่งซื้อหากคุณใช้งานตัวอย่างลูกค้าทุกอย่างไม่ทันสมัย ​​... คุณกำลังเรียกใช้ตัวอย่างลูกค้า
Everett

@Everett ใช่แล้วคุณอาจจะถูก ... แต่ก็ยังไม่ควรเกิดขึ้นแม้ว่าจะเป็นภาพตัวอย่างของลูกค้า (หรือปล่อย)
สกอตต์

4
@Scott ใช่สิ่งนี้ควรเกิดขึ้นในการแสดงตัวอย่างของลูกค้า ฉันหมายถึงแน่นอนมันจะดีกว่าถ้าข้อผิดพลาดเหล่านั้นไม่มีอยู่ในตอนแรก แต่นี่เป็นสิ่งหนึ่งที่ภาพตัวอย่างตั้งใจจะทำ เป็นโอกาสที่ผู้ใช้จะเห็นคุณลักษณะใหม่และองค์ประกอบส่วนต่อประสานผู้ใช้ก่อนกำหนดและตรวจสอบความเข้ากันได้ของแอป แต่ยังมีโอกาสสำหรับทีมผู้พัฒนาเพื่อรับข้อเสนอแนะและค้นหาข้อบกพร่องจากผู้ชมที่กว้างขึ้น ระบบหลักยังไม่พร้อมสำหรับการใช้งานจริง มันไม่ได้มีไว้สำหรับใช้เป็นระบบหลักของคุณเพราะมันยังไม่เสร็จสมบูรณ์หรือดีบั๊ก ถ้าเป็นพวกเขาจะไป RTM ด้วย
Joel Coehoorn

1
ใช้ xperf เพื่อติดตามมัน แต่อย่างที่ผู้ใช้คนอื่นบอกคุณให้หยุดใช้ CP รุ่นก่อนวางจำหน่ายทั้งหมดจะหมดอายุใน 2 สัปดาห์!
magicandre1981

1
วิธีเดียวที่เราสามารถช่วยคุณได้คือถ้าคุณตรวจสอบว่าปัญหานี้มีอยู่ในรุ่น RTM ของ Windows 8 คุณไม่สามารถคาดหวังได้ว่าจะมีใครช่วยคุณแก้ปัญหาที่มีอยู่ในรุ่นทดลองใช้ ฉันไปข้างหน้าและอัปเดตแท็กเพื่อแสดงถึงการใช้เวอร์ชันตัวอย่าง
Ramhound

คำตอบ:


90

อาจเกิดจากไดรเวอร์ที่ผิดปกติหรือโมดูลอื่นที่โหลดโดยระบบ เข้าไปดูในกระบวนการระบบคุณสามารถใช้เครื่องมือเช่นProcess Explorer

ดาวน์โหลดและเรียกใช้จากนั้นเลือกกระบวนการของระบบคลิกขวาและเลือกคุณสมบัติ:

ป้อนคำอธิบายรูปภาพที่นี่

สลับไปที่แท็บกระทู้ (ละเว้นกล่องโต้ตอบที่กล่าวถึงสัญลักษณ์):

ป้อนคำอธิบายรูปภาพที่นี่

นี่จะแสดงว่าไฟล์ใดกำลังใช้งาน CPU มากเกินไปซึ่งคุณสามารถลองวิเคราะห์ได้

ดังที่คนอื่น ๆ ได้กล่าวไว้ในความคิดเห็นอย่างไรก็ตามคุณจำเป็นต้องย้ายออกจากตัวอย่างเวอร์ชั่นโดยเร็วที่สุด!


ขอบคุณสำหรับคำตอบของคุณ โปรดดูคำถามที่อัปเดตของฉัน
สกอตต์

2
@Scott ฉันสังเกตเห็นว่าคุณกำลังอัพเกรดตอนนี้ หากปัญหานี้ยังคงไม่สามารถแก้ไขได้หลังจากนั้น TPLink จะมีไดร์เวอร์เบต้า Windows 8 ในเว็บไซต์ของตนซึ่งอาจช่วยได้ สามารถพบได้ที่นี่: tp-link.com/en/support/download/…
Graham Wager

2
ดูเหมือนว่า risdxc64.sys เป็นผู้ต้องสงสัยปกติกับแล็ปท็อป Thinkpad ซึ่งเป็นไดรเวอร์สำหรับเครื่องอ่านการ์ดให้ดูเช่นที่นี่: forums.lenovo.com/t5/ThinkPad-X-Series-Laptops/ - ฉันแก้ไขได้โดยติดตั้งรุ่นล่าสุดใหม่ หนึ่งใน win 10
patrickf

ฉันมีปัญหาที่คล้ายกันใน Windows 10 สำหรับฉันมันเป็น avc3.sys ที่ใช้ซีพียูจำนวนมาก กลายเป็นส่วนหนึ่งของ Bitdefender Antivirus ฟรี
บรูโน่

2
@Legends คุณใช้เครื่องมือผิด ProcExp แสดงภาพที่ไม่เป็นประโยชน์ ฉันเขียนคำตอบเกี่ยวกับ Windows Performance Toolkitเพื่อแสดงรายละเอียดวิธีการวิเคราะห์การใช้ซีพียู
magicandre1981

89

ในการวิเคราะห์ปัญหาการใช้งาน CPU คุณควรใช้ Event Tracing สำหรับ Windows (ETW) เพื่อจับข้อมูล / โปรไฟล์การสุ่มตัวอย่างของ CPU

เพื่อรวบรวมข้อมูลการติดตั้งเครื่องมือประสิทธิภาพ Windowsซึ่งเป็นส่วนหนึ่งของSDK ของ Windows

ของ Windows 10 WPT สามารถใช้กับ Windows 8 / Server 2012, Windows 8.1 Server / 2012R2 และ Windows 10 / เซิร์ฟเวอร์ 2016 หากคุณยังคงใช้ Windows 7 ใช้SDK / WPT กับรูปร่าง 15086

ป้อนคำอธิบายรูปภาพที่นี่ (สามารถยกเลิกการเลือกรายการอื่น ๆ ทั้งหมด)

ตอนนี้ใช้WPRUI.exeเลือกFirst Levelภายใต้ทรัพยากรเลือกการใช้งาน CPUและคลิกที่เริ่มต้น

ป้อนคำอธิบายรูปภาพที่นี่

ตอนนี้จับการใช้งาน CPU 1 นาที หลังจาก 1 นาทีคลิกที่บันทึก

ตอนนี้วิเคราะห์ไฟล์ ETL ที่สร้างขึ้นด้วย Windows Performance AnalyzerโดยการลากและวางCPU Usage (sampled)กราฟไปที่analysis paneและสั่งซื้อคอลัมน์ตามที่คุณเห็นในภาพ:

ป้อนคำอธิบายรูปภาพที่นี่

ภายใน WPA ให้โหลดสัญลักษณ์ดีบักและขยาย Stack ของกระบวนการ SYSTEM ในการสาธิตนี้การใช้งาน CPU มาจากไดรเวอร์ nVIDIA


ในการสาธิตต่อไปนี้การใช้งาน CPU มาจากไดรเวอร์ Realtek NIC:

ป้อนคำอธิบายรูปภาพที่นี่


เมื่อคุณเห็นสายเช่นntoskrnl.exe! Vi KeTrimWorkerThreadRoutine, ntoskrnl.exe! Mm Verifier TrimMemory, ntoskrnl.exe! Verifier KeLeaveCriticalRegionซึ่งหมายความว่าคุณเปิดใช้งาน Verifier ของไดรเวอร์แล้ว สิ่งนี้ยังทำให้ประสิทธิภาพการทำงานแย่ลงและทำให้การใช้งานระบบสูง ปิดการใช้งานไดรเวอร์ Verifierและรีบูต

ป้อนคำอธิบายรูปภาพที่นี่


ในการสาธิตนี้ไดรเวอร์iai2ce.sys( ไดรเวอร์Intel Serial IO GPIO Controller) ทำให้มัน:

ป้อนคำอธิบายรูปภาพที่นี่


ในตัวอย่างนี้การใช้งาน CPU มาจากไฟล์rtsuvc.sysที่ดูเหมือนจะเป็นRealtek UVC webcam Driver

ป้อนคำอธิบายรูปภาพที่นี่


การสาธิตนี้แสดงให้เห็นว่าไดรเวอร์ Bitdefender ignis.sys

ป้อนคำอธิบายรูปภาพที่นี่


ในตัวอย่างต่อไปนี้การใช้งาน CPU นั้นถูกควบคุมโดยไดรเวอร์เครือข่ายของ Broadcom bcmwl664.sys

ป้อนคำอธิบายรูปภาพที่นี่


เมื่อคุณเห็นntoskrnl.exe!MiZeroWorkerPagesว่าเป็นสาเหตุก็เป็นเรื่องยาก นี่หมายถึงฟังก์ชั่นของเคอร์เนลที่เป็นศูนย์หน่วยความจำก่อนที่จะสามารถใช้งานได้อีกครั้งทำให้เกิดการใช้งาน CPU สูง:

ป้อนคำอธิบายรูปภาพที่นี่

ไม่มีวิธีที่แท้จริงในการตรวจสอบว่ากระบวนการใดเป็นสาเหตุ แต่ฉันรู้ว่า Chrome สามารถทำให้เกิดขึ้นได้หากคุณเปิดใช้งานการเร่งด้วยฮาร์ดแวร์ใน Chrome ดังนั้นหากคุณเห็นสิ่งนี้และใช้ Chrome ให้ปิดการเร่งด้วยฮาร์ดแวร์ใน Chrome


เมื่อคุณเห็นผู้ntoskrnl.exe! RtlpGenericRandomPatternWorker, Ntoskrnl.exe! RtlpTestMemoryRandomUpโทร

ป้อนคำอธิบายรูปภาพที่นี่

การใช้งาน CPU มาจากเคอร์เนลเพื่อทดสอบหน่วยความจำสำหรับปัญหา (memtest) การใช้งานนี้จะถูกเรียกผ่านงานการบำรุงรักษาไม่ได้ใช้งานของ Windows 8.1 / 10 คุณสามารถใช้ Task Scheduler เพื่อปิดการใช้งานว่าง

ป้อนคำอธิบายรูปภาพที่นี่

ใน Windows 10 งานที่เรียกว่า RunFullMemoryDiagnostics ภายใต้ไมโครซอฟท์> ของ Windows> MemoryDiagnostic> RunFullMemoryDiagnostic

ป้อนคำอธิบายรูปภาพที่นี่


ในกรณีนี้การใช้งาน CPU ดูเหมือนว่ามาจากData DeduplicationFeature ( dedup.sys!DdpPostCreate) ของ Windows Server:

ป้อนคำอธิบายรูปภาพที่นี่


ในการสาธิตนี้การใช้งาน CPU เกิดจากไดรเวอร์การ์ด WIFI athrx.sys

ป้อนคำอธิบายรูปภาพที่นี่

ค้นหาการอัปเดตไดรเวอร์หากคุณเห็นสิ่งนี้


ในการสาธิตต่อไปนี้เกี่ยวข้องกับไดรเวอร์ citrix:

ป้อนคำอธิบายรูปภาพที่นี่

ดังนั้นติดต่อ IT ของคุณสำหรับวิธีแก้ปัญหา Citrix


ในการสาธิตนี้ฟังก์ชันusbhub.sys!UsbhPortRecycleทำให้เกิดการใช้งาน CPU:

ป้อนคำอธิบายรูปภาพที่นี่

การเปลี่ยนพอร์ต USB2.0 เป็นความเร็ว 1.1หรือการเชื่อมต่อไดรฟ์ USB ไปยังพอร์ต USB 2.0 อื่น ๆ ช่วยผู้ใช้


ในกรณีนี้การใช้งานระบบจำนวนเล็กน้อยมาจากไดรเวอร์ Acronis tdrpm251.sys:

ป้อนคำอธิบายรูปภาพที่นี่


ในการสาธิตนี้การใช้งาน CPU และntoskrnl.exe!KeAcquireSpinLockRaiseToDpcntoskrnl.exe!KeReleaseSpinLock

ป้อนคำอธิบายรูปภาพที่นี่

ดังนั้นไดรเวอร์จึงใช้SpinLocksอย่างหนัก ปิดการใช้งานอุปกรณ์ / ไดรเวอร์บางอย่างจนกว่าคุณจะเห็นอุปกรณ์ที่เป็นสาเหตุ


ในกรณีนี้การใช้งาน CPU เกิดจากไดรเวอร์ L1C62x64.sys

ป้อนคำอธิบายรูปภาพที่นี่

นี่คือqualcomm atheros AR8171/8175 PCI-E gigabit Ethernetไดรเวอร์ ดังนั้นอัปเดตไดรเวอร์ถ้าคุณเห็นมันในกอง


ที่นี่การใช้งาน CPU มาจากการสแกนไฟล์โฮสต์ (netbt.sys! DelayedScanLmHostFile)

ป้อนคำอธิบายรูปภาพที่นี่

ตรวจสอบให้แน่ใจว่าไฟล์โฮสต์ของคุณไม่ใหญ่เกินไปเพื่อหลีกเลี่ยงการใช้งานนี้


ในกรณีนี้การใช้งาน CPU มาSRTSP64.SYSจากไซแมนเทค

ป้อนคำอธิบายรูปภาพที่นี่

อัปเดตผลิตภัณฑ์ Symantec ที่คุณใช้เป็นเวอร์ชันล่าสุด


ที่นี่การใช้งาน CPU มาจากไดรเวอร์ AMD GPU (atikmdag.sys)

ป้อนคำอธิบายรูปภาพที่นี่

หากคุณเห็นสิ่งนี้ให้ไปที่ไซต์ AMD และรับไดรเวอร์ล่าสุดสำหรับการ์ด AMD ของคุณ


ที่นี่ไดรเวอร์ TMXPFlt.sys และ VsapiNt.sys ทำให้เกิดการใช้งาน CPU สูง

ป้อนคำอธิบายรูปภาพที่นี่

จากสิ่งที่ฉันเห็นไฟล์เหล่านั้นเป็นส่วนหนึ่งของชุด Trend Micro AV อัปเดตเครื่องมือหรือลบออก


ในตัวอย่างนี้การใช้งาน CPU มาจากฟังก์ชัน ntoskrnl.exe!MmGetPageFileInformation

ป้อนคำอธิบายรูปภาพที่นี่

ฟังก์ชันนี้รับข้อมูลเกี่ยวกับ pagefile

รูทีนคำอธิบาย: รูทีนนี้ส่งคืนข้อมูลเกี่ยวกับเพจไฟล์ที่แอ็คทีฟในปัจจุบัน

ปิดการใช้งาน pagefile รีบูตและเปิดใช้งานอีกครั้งและดูว่าสิ่งนี้แก้ไขได้หรือไม่ นอกจากนี้ยังนำบริการของอินเทล (Intel เช่นการป้องกันเนื้อหา Heci บริการ) ดูเหมือนว่าจะคงได้สำหรับผู้ใช้


ที่นี่คุณจะเห็นว่าไดรเวอร์Netwtw04.sys( ไดรเวอร์Intel Wifi) เรียกใช้ฟังก์ชันflushCompleteAllPendingFlushRequestsและสิ่งนี้ทำให้เกิดการใช้งาน CPU สูง

ป้อนคำอธิบายรูปภาพที่นี่

เนื่องจากสัญลักษณ์การตรวจแก้จุดบกพร่องโหลดโปรแกรมควบคุมกล่องขาเข้าของ Windows ที่ใช้ เฉพาะที่นี่เราจะได้รับสัญลักษณ์การแก้ปัญหาเพื่อดู callstack flushCompleteAllPendingFlushRequestsที่มีชื่อฟังก์ชั่น

ที่นี่คุณควรติดตั้งไดรเวอร์ล่าสุดจาก Intelเพื่อแก้ไข


กรณีที่ซับซ้อนที่สุดของการใช้งานระบบคือการใช้ ACPI.sys ใน callstack:

Line #, DPC/ISR, Module, Stack, Count, Process, Weight (in view) (ms), TimeStamp (s), % Weight
6, , ,   |    |- ACPI.sys!ACPIWorkerThread, 40246, , 39.992,941063, , 4,13
7, , ,   |    |    ACPI.sys!RestartCtxtPassive, 40246, , 39.992,941063, , 4,13
8, , ,   |    |    ACPI.sys!InsertReadyQueue, 40246, , 39.992,941063, , 4,13
9, , ,   |    |    ACPI.sys!RunContext, 40246, , 39.992,941063, , 4,13
10, , ,   |    |    ntoskrnl.exe!KeReleaseSpinLock, 40246, , 39.992,941063, , 4,13
11, , ,   |    |    ntoskrnl.exe!KiDpcInterrupt, 40246, , 39.992,941063, , 4,13
12, , ,   |    |    ntoskrnl.exe!KiDispatchInterruptContinue, 40246, , 39.992,941063, , 4,13
13, , ,   |    |    ntoskrnl.exe!KxRetireDpcList, 40246, , 39.992,941063, , 4,13
14, , ,   |    |    ntoskrnl.exe!KiRetireDpcList, 40246, , 39.992,941063, , 4,13
15, , ,   |    |    |- ntoskrnl.exe!KiExecuteAllDpcs, 40198, , 39.945,173325, , 4,13
16, , ,   |    |    |    |- ACPI.sys!ACPIInterruptDispatchEventDpc, 27565, , 27.408,930428, , 2,83
17, , ,   |    |    |    |    |- ACPI.sys!ACPIGpeEnableDisableEvents, 24525, , 24.384,921620, , 2,52
18, , ,   |    |    |    |    |    ACPI.sys!ACPIWriteGpeEnableRegister, 24525, , 24.384,921620, , 2,52
19, , ,   |    |    |    |    |    |- hal.dll!HalpAcpiPmRegisterWrite, 24421, , 24.281,015516, , 2,51
20, , ,   |    |    |    |    |    |    |- hal.dll!HalpAcpiPmRegisterWritePort, 24166, , 24.027,316013, , 2,48

นี่เป็นข้อแก้ตัวยากมาก ในหัวข้อ sysinternalsฉันระบุคำแนะนำ:

  • ตรวจสอบให้แน่ใจว่า CPU ไม่ร้อนเกินไปเนื่องจากฝุ่นในพัดลม CPU
  • อัพเดตหรือแฟลช BIOS / UEFI (เดียวกัน) อีกครั้ง
  • โหลดการตั้งค่าเริ่มต้น BIOS / UEFI
  • ตรวจสอบให้แน่ใจว่าแบตเตอรี่ไม่เสียหายถอดแบตเตอรี่ออกจากโน้ตบุ๊กหรือปิดใช้งานแบตเตอรี่ในตัวจัดการอุปกรณ์
  • เปลี่ยนจัมเปอร์ บนแคดดี้ HDDหากคุณเปลี่ยนไดรฟ์ DVD / Blue-Ray เป็นแคดดี้เพื่อติดตั้ง SSD ถัดจาก HDD เก่าของคุณ

ป้อนคำอธิบายรูปภาพที่นี่


ในการสาธิตต่อไปนี้ไดรเวอร์ Intel HD igdkmd64.sysในรุ่น. 4574 สำหรับ Intel HD 630 ทำให้เกิดปัญหา:

ป้อนคำอธิบายรูปภาพที่นี่

การแก้ปัญหาคือการอัพเดทไดรเวอร์ด้วยรุ่นอย่างน้อย. 4590


ในกรณีต่อไปนี้การใช้งาน CPU ของกระบวนการ SYSTEM นั้นเกิดจากไดรเวอร์ stdriverx64.sys

ป้อนคำอธิบายรูปภาพที่นี่

นี้น่าจะเป็นคนขับรถเสียงสตรีมมิ่ง ดังนั้นให้อัพเดตซอฟต์แวร์ / ไดรเวอร์นี้หากคุณเห็นสิ่งนี้ใน WPA


หากคุณเห็นไดรเวอร์ที่เรียกว่าrisdxc64.syscallstack ของระบบซึ่งเป็นสาเหตุของการใช้งาน CPU สูงให้อัพเดตไดรเวอร์Ricoh PCIe SDXC / MMC Host Controllerหรือปิดการใช้งานเครื่องอ่านการ์ด SD ในตัวจัดการอุปกรณ์หากไม่มีการอัพเดทไดรเวอร์แก้ไข

ป้อนคำอธิบายรูปภาพที่นี่

เครื่องอ่านการ์ด SD นี้ดูเหมือนจะติดตั้งมากับอุปกรณ์ Lenovo หลายรุ่น


ผู้ใช้ @stevemidgley พบปัญหาใหม่ของการใช้ CPU ที่สูงขึ้นด้วย Wdf01000.sys!FxSystemWorkItem::_WorkItemThunk

ป้อนคำอธิบายรูปภาพที่นี่

ที่นี่คุณสามารถดูไดรเวอร์ UDE.sys ที่ทำให้เกิด

ในสัญลักษณ์ศูนย์กลาง

ป้อนคำอธิบายรูปภาพที่นี่

ฉันเห็นว่ามันเป็นของไดรเวอร์โมเด็มและข้อมูล PNP ของร่องรอยแสดงFibocom L850-GL(LTE โมเด็ม) เป็นอุปกรณ์ที่เป็นไปได้:

ป้อนคำอธิบายรูปภาพที่นี่

และการแก้ปัญหาคือการปิดการใช้งานโมเด็มและอุปกรณ์ประกอบ USB ในการจัดการอุปกรณ์



6
นีซ !!! +1 .... สำหรับ shizzle
Pimp Juice IT

1
@stevemidgley FxUsbPipeRequestWorkItemThunk ประมวลผลข้อมูล ขยายสแต็กเพิ่มเติม นอกจากนี้ยังแชร์ไฟล์ ETL อุปกรณ์ USB คอมโพสิตสามารถเป็นไดรเวอร์ของสมาร์ทโฟนเมื่อคุณเชื่อมต่อโทรศัพท์เพื่อถ่ายโอนข้อมูล
magicandre1981

1
@stevemidgley เปิดใช้งานอุปกรณ์ USB และบันทึกการติดตามฉันต้องการไฟล์ ETL เพื่อดูรายละเอียดเพิ่มเติม
magicandre1981

1
@stmemidley ที่เป็นข้อมูล USB ดิบฉันต้องการติดตามการใช้งาน CPU ติดตามจากคำตอบของฉันข้างต้น
magicandre1981

1
@stevemidgley ok ดูเหมือนว่าไดรเวอร์ UDE.sys เป็นสาเหตุของมัน และจากสิ่งที่ฉันเห็นมันเป็นของ Fibocom L850-GL ซึ่งเป็นโมดูล LTE ของคุณ
magicandre1981

4

หมายเหตุเกี่ยวกับการโหลดสัญลักษณ์การดีบักเพื่อเพิ่มคำตอบที่ยอดเยี่ยมของ magicandre1981 : หากการโหลดสัญลักษณ์ใน Windows Performance Analyzer ทำงานอย่างถูกต้องหลังจากติ๊กTrace> Load Symbolsคุณควรเห็นแถบความคืบหน้าด้านบนพร้อมสัญลักษณ์การโหลดซึ่งแสดงชื่อไฟล์ ให้เสร็จหลายนาที นอกจากนี้คุณควรเห็นหลายบรรทัดเช่นด้านล่างในแผงควบคุมการวินิจฉัย:

SYMSRV:  File: Accessibility.ni.pdb

SYMSRV:  Notifies the client application that a proxy has been detected.
SYMSRV:  Connecting to the Server: http://msdl.microsoft.com/download/symbols.
SYMSRV:  Successfully connected to the Server.
SYMSRV:  Sending the information request to the server.
SYMSRV:  Successfully sent the information request to the server.
SYMSRV:  Waiting for the server to respond to a request.
SYMSRV:  Successfully received a response from the server.
SYMSRV:  Closing the connection to the Server.
SYMSRV:  Successfully closed the connection to the Server.
SYMSRV:  Get File Path: /download/symbols/Accessibility.ni.pdb/7B46178957827CDAB7EE4C86EDEE1DAE1/Accessibility.ni.pdb

หากคุณไม่เห็นสิ่งใดสิ่งหนึ่งเหล่านี้การโหลดสัญลักษณ์การดีบักอาจไม่ทำงานและคุณจะไม่สามารถตีความการติดตามของคุณได้อย่างถูกต้อง

ในกรณีของฉันในตอนแรกการโหลดสัญลักษณ์การดีบักไม่ทำงาน ฉันแก้ไขโดยทำตามคำแนะนำเหล่านี้ :

  1. คิดออกว่าคุณกำลังใช้ Windows Performance Toolkit รุ่น x86 หรือ x64

    นี่เป็นเรื่องง่ายใน x86 บิลด์ของ Windows บน x64 บิลด์คุณสามารถตรวจสอบตัวจัดการงานสำหรับแท็ก * 32 หากไม่มีอยู่แสดงว่าคุณใช้ x64 เวอร์ชั่นอยู่

    โปรดทราบว่า WPT จะติดตั้งไปยังโปรแกรมไฟล์ (x86) เสมอโดยไม่คำนึงถึงสถาปัตยกรรม

  2. คัดลอกdbghelp.dllและsymsrv.dllไฟล์จากไดเรกทอรี debugger ที่ถูกต้องไปยังไดเรกทอรี Windows Performance Toolkit ในระบบของฉันไดเรกทอรีที่เกี่ยวข้องคือ:

    C:\Program Files (x86)\Windows Kits\10\Debuggers\x64 และ C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit

  3. รีสตาร์ท Windows Performance Analyzer เพื่อรับ dbghelp.dll รุ่นที่ถูกต้อง


2
คุณควรเพิ่มสิ่งนี้ในคำตอบของฉันเป็นการแก้ไข นี่ไม่ใช่คำตอบที่แท้จริง
magicandre1981

0

ก่อนอื่นการตรวจทานและข้อมูลที่ให้นั้นมีข้อมูลมากอย่างไรก็ตามโดยปกติคุณสามารถเข้าใจสิ่งนี้ได้โดยใช้ความฉลาดน้อยลง ฉันเพียงใช้ MSCOFIG.EXE และการค้นหาแบบไบนารีเพื่อแยกบริการที่ละเมิดออก ฉันพบปัญหาส่วนใหญ่เช่นนี้เกิดจากซอฟต์แวร์ Intel ฉันเริ่มต้นด้วยการปิดใช้งานบริการใด ๆ ที่ไม่มีชื่อ บริษัท จากนั้นฉันก็เริ่มใช้บริการของ Intel จากนั้นค้นหาไบนารีเต็ม โดยปกติจะใช้เวลาอย่างน้อยหนึ่งชั่วโมงเพื่อแก้ไขปัญหาในพีซีของใครบางคน Intel ไม่ใช่ บริษัท คอมพิวเตอร์ที่ดีและซอฟต์แวร์ของพวกเขาแสดงให้เห็น มาเผชิญหน้ากับสถาปัตยกรรม Pentium เมื่อสิบปีก่อนที่มันจะถูกปล่อยออกมา ใครจะเป็นผู้สร้างสถาปัตยกรรมคอมพิวเตอร์ด้วยหน่วยความจำแบบเพจในยุคของ VAX ฉันจะไม่ทำให้คุณเบื่อกับประวัติ ไม่ใช่ว่าฉันเป็นแฟนของ AMD หรือ Microsoft เช่นกัน บางทีสักวันพวกเรา


คุณรู้หรือไม่ว่า VAX ใช้หน่วยความจำแบบเพจใช่ไหม และทำไมคุณไม่ใช้ความจำแบบเพจในวันนี้
Jamie Hanrahan

-1

ฉันมีปัญหาเดียวกันมันหายไปเมื่อฉันลบหนึ่งในโมดูล RAM ดูเหมือนว่ามันจะเป็นความผิดพลาด ใช้ Windows 7, 32 บิต

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.