ฉันจะระบุผู้กระทำผิดของการปิดระบบ Windows ที่ช้าได้อย่างไร


30

คอมพิวเตอร์ของฉันใช้เวลานานในการปิดเครื่อง

ฉันจะระบุผู้กระทำผิดได้อย่างไร ฉันไม่ต้องการรอสักครู่เพื่อให้คอมพิวเตอร์ปิด ...

มีโปรแกรมที่ฉันสามารถใช้เพื่อติดตามระยะเวลาที่ใช้ในการปิดเครื่องหรือไม่?


1
เราไม่รู้ว่าการตั้งค่าระบบของคุณเป็นอย่างไรและสิ่งที่อาจทำงานในพื้นหลัง
สุ่ม

1
ตกลง ... ฉันเห็นคนอื่นถามแล้วลบออกเมื่อฉันเขียนคำตอบที่ยาวมากและสมบูรณ์ ... (รู้สึกเสียใจกับตัวเอง)
wizlog

คุณสามารถแนะนำสำหรับบล็อกได้เสมอ
สุ่ม

2
กดปุ่มเปิด / ปิดค้างไว้หลายวินาที
Daniel R Hicks

5
คำถามนี้ถูกต้องฉันสามารถตอบอย่างเป็นกลางเพื่อแก้ปัญหาของเขา ไม่มีปัญหาที่ไม่ชัดเจน (ปัญหาคือเวลาที่ใช้ในการปิดเครื่องของเขาใช้เวลานาน) คลุมเครือ (เขาต้องการเร่งความเร็วการปิดระบบของเขา) ไม่สมบูรณ์ (รายละเอียดไม่จำเป็นแน่นอนคอมพิวเตอร์แต่ละเครื่องจะแตกต่างกัน เพื่อระบุผู้กระทำผิดที่แตกต่างกัน) กว้างเกินไป (คุณอาจคิดอย่างนั้น แต่ฉันไม่เห็นคำถามการปิดการแก้ไขปัญหาอื่น ๆ ดังนั้นนี่เป็นคำถามที่มีค่าจริงๆที่จะมีฉันคิดว่ามันจะกว้างถ้าเขาต้องการเร่งความเร็วสิ่งอื่น ๆ ) หรือวาทศิลป์ (มันเกี่ยวข้องกับ xperf)
Tamara Wijsman

คำตอบ:


31

Windows ให้นับผลการดำเนินงานตลอดจนการจัดกิจกรรมติดตามซึ่งจะช่วยให้การใช้งานที่จะทำการวิเคราะห์ประสิทธิภาพเพื่อที่หนึ่งสามารถตรึงจุดสาเหตุของปัญหาประสิทธิภาพการทำงานท่ามกลางผู้ที่อยู่ที่นั่นเป็นหนึ่งในเครื่องมือที่โดดเด่นที่: Windows ประสิทธิภาพเครื่องมือที่มีอยู่ในSDK ของ Windows

ในเครื่องมือนี้คุณจะพบxbootmgr.exeหมายสำหรับWindows ที่เปิด / ปิดการเปลี่ยนผลการดำเนินงาน

แม้ว่าเอกสารที่เชื่อมโยงข้างต้นจะกล่าวถึงรายละเอียดทั้งหมดสำหรับการเปลี่ยนเปิด / ปิดทุกครั้งนี่เป็นแนวคิดทั่วไปเกี่ยวกับการติดตามและวิเคราะห์การปิดการเปลี่ยนภาพโดยใช้xbootmgrและ xperf GUI:

  1. ดาวน์โหลด Windows SDK จากนั้นติดตั้ง Windows Performance Toolkit โดยใช้

  2. เปิดพรอมต์คำสั่งในฐานะผู้ดูแลระบบจากนั้นเรียกใช้:

    cd %ProgramFiles%\Microsoft Windows Performance Toolkit

  3. หากคุณต้องการความช่วยเหลือในอนาคตคุณสามารถพิมพ์เช่นเดียวกับxbootmgr -helpxperf /?

  4. ทำการติดตามการรีบูตเช่นนี้

    xbootmgr -trace shutdown -traceFlags BASE+DIAG+LATENCY -noPrepReboot

  5. หลังจากบูตมันจะสร้างการติดตามภายในสองนาที

  6. การติดตามถูกบันทึกไว้ใน%ProgramFiles%\Microsoft Windows Performance Toolkitคุณสามารถลากไปยังxperf.exeและมันจะถูกเปิดใน GUI

  7. คุณจะเห็น GUI ที่มีกราฟแตกต่างกันลูกศรที่ด้านซ้ายช่วยให้คุณสามารถเพิ่ม / ลบกราฟได้

  8. ดูกราฟและดูว่าคุณสามารถระบุสิ่งที่ผิดปกติหรือไม่คุณสามารถเลือกช่วงเวลาและซูมเข้าได้หากต้องการ คลิกขวาและ unzoom เมื่อคุณต้องการดูทั้งหมด

  9. สำหรับแต่ละกราฟคุณสามารถคลิกขวาที่จะได้รับตารางสรุปสำหรับช่วงเวลาที่เลือกในปัจจุบัน

  10. ในตารางเหล่านี้เรียงลำดับตามน้ำหนักหรือตามเวลาเพื่อพิจารณาว่าจะใช้จ่ายอะไรให้มากที่สุด โปรดทราบว่าคุณสามารถลากไปรอบ ๆ คอลัมน์ได้ตัวอย่างเช่นตาราง I / O ช่วยให้คุณสามารถตรวจสอบขั้นตอนการใช้สูงสุดและเส้นทางที่ใช้สูงสุด

    ตัวแบ่ง (คอลัมน์ส่วนหัวสีเหลือง) สร้างขึ้นเพื่อให้คอลัมน์ทางด้านขวาของมันแสดงผลรวมสำหรับคอลัมน์ทางด้านซ้ายของมัน ดังนั้นหากคุณมี Path ก่อนแล้วจึงประมวลผลจากนั้นคุณสามารถเปิดแผนผังไฟล์เพื่อดูว่ากระบวนการใดบ้างที่เข้าถึงและคุณจะได้รับผลรวมสำหรับกระบวนการ / ไฟล์รวมกัน

  11. คุณสามารถค้นหาข้อมูลเพิ่มเติมเกี่ยวกับวิธีกราฟและตารางการทำงานที่นี่

  12. หากคุณต้องการลงไปดูร่องรอยสแต็ก ดำเนินการติดตามการบูตอื่นและผนวก-stackWalk profileพารามิเตอร์ตั้งค่า _NT_SYMBOL_PATHและคลิกขวาที่กราฟใด ๆ และเปิดใช้งาน "โหลดสัญลักษณ์" วิธีนี้จะช่วยให้คุณตรวจสอบว่าฟังก์ชั่นใดที่ใช้งานจริงโดยทั่วไปคุณไม่จำเป็นต้องทำการปิดระบบ แต่สามารถอนุญาตให้สิ่งต่าง ๆ เช่นค้นพบว่าไฟร์วอลล์ของคุณรบกวนตัวดีบักเกอร์ของคุณในฐานะโปรแกรมเมอร์ สวยดี ...

โชคดีฉันหวังว่าคุณจะพบผู้กระทำผิด ถ้าไม่ทำอย่างนั้นเราก็จะตรวจสอบ ...

โปรดทราบว่า DPC เป็นการเรียกขั้นตอนรอตัดบัญชีและการขัดจังหวะเป็นการขัดจังหวะโดยซอฟต์แวร์ทั้งคู่เกี่ยวข้องกับไดรเวอร์ / ฮาร์ดแวร์


1
คำตอบที่มีประโยชน์ที่น่าตื่นตาตื่นใจ บทเรียนเกี่ยวกับ ETW นั้นมีประโยชน์เป็นพิเศษ มันเป็นพื้นที่ของ Windows ที่ไม่มีเอกสารประกอบและไม่มีแนวทางให้คำแนะนำ
Ian Boyd

@Tom Wijsman ลิงก์ต้องได้รับการอัปเดต
Moab

ตอนนี้มันเป็นส่วนหนึ่งของการใช้ Windows การประเมินและการปรับใช้ชุดการเชื่อมโยงสามารถพบได้เช่นที่msdn.microsoft.com/en-us/windows/hardware/commercialize/test/...หรือเพียงโดยการค้นหา "Windows ADK" ระหว่างการติดตั้งเป็นไปได้เพียงเพื่อเลือก Performance Toolkit
Andreas Reiff

ตอนนี้มันยังเป็นส่วนหนึ่ง ... เพราะมันยังคงมีอยู่ใน SDK
Tamara Wijsman

22

การปิดระบบของฉันใช้เวลานานในการทำงาน สิ่งต่อไปนี้คือตัวอย่างของฉันกับคำตอบของทอม

กราฟแรกแสดงปัญหาDisk I / O :

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

การปิดระบบของฉันใช้เวลานานกว่าหนึ่งนาทีและทั้งหมดของ I / O ฮาร์ดไดรฟ์

กราฟต่อไปการใช้ดิสก์แสดงให้เห็นว่าไดรฟ์นั้นมีการใช้งานเกือบ 100%:

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

กราฟสุดท้ายแสดงการใช้งานดิสก์ตามกระบวนการ :

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

การกรองฉันรู้ว่ามันเกิดจากWinInit.exe:

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

โดยการคลิกขวาที่กราฟของฮาร์ดไดรฟ์และเลือกตารางสรุปฉันสามารถรับรายละเอียดของไฟล์ที่ถูกเข้าถึงโดยกระบวนการใด:

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

56.4 วินาทีของการปิดของฉันถูกใช้โดยWinInitการเขียน 6.7GB C:\hiberfil.sysไป


แต่คำถามคือทำไมเป็น windows เขียนไฟล์จำศีลของฉันในการปิด ?

จากนั้นฉันจำตัวเลือกที่ฉันเปิดไว้เพื่อล้างไฟล์เพจจิ้งเมื่อปิดเครื่อง:

  • Start -> Run -> SecPol.msc
    • การตั้งค่าความปลอดภัยนโยบายท้องถิ่นตัวเลือกความปลอดภัย
    • ปิดเครื่อง: ล้างไฟล์หน่วยความจำเสมือน pagefile

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

ดังนั้นฉันจึงปิดการใช้งานตัวเลือกและเรียกใช้xbootmgrอีกครั้ง ตอนนี้การปิดเครื่องของฉันคือ 22 วินาที:

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

ตอนนี้9sการ22sปิดระบบถูกใช้ไปโดยSystemเขียนลงunknownไฟล์บางไฟล์ นั่นอาจคุ้มค่ากับการตรวจสอบมากขึ้น

แต่ตอนนี้ฉันได้แก้ไขนาทีและปิดครึ่ง


ฉันไปต่อและแก้ไขการปิดระบบช้าในยุค 22 จาก t = 12sเพื่อ t = 21sแสดงให้เห็นว่า 100% ดิสก์การใช้ประโยชน์แต่ศูนย์Disk I / O มันทำให้งงงัน

จนกระทั่งในช่วงปิดเครื่องหนึ่งฉันได้ยินเสียงที่คุ้นเคยของไดรฟ์ตัวหนึ่งของฉันหมุนขึ้น การปิดระบบถูกหยุดทำงานเป็นเวลา 9 วินาทีเนื่องจาก Windows พยายามเข้าถึงดิสก์ที่เข้าสู่โหมดสลีป เก้าวินาทีต่อมาไดรฟ์จะตอบสนองและอีกไม่นานเครื่องก็จะปิด

แดกดันว่า Windows จะปลุกดิสก์ขึ้นเพื่อบอกว่าถึงเวลาเข้านอนแล้ว

นั่นจะทำให้การปิดเครื่องจริงของฉัน 13.5 วินาที นั่นอาจคุ้มค่ากับการตรวจสอบมากขึ้น แต่สำหรับตอนนี้ฉันได้แก้ไขการปิด 22 วินาทีแล้ว


1
+1 ดีใจที่คุณได้รับการแก้ไขในกรณีของคุณและโพสต์ที่ดี!
Tamara Wijsman

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