Máy tính của tôi mất rất nhiều thời gian để tắt máy.
Làm thế nào tôi có thể xác định thủ phạm? Tôi không muốn đợi vài phút để máy tính của tôi tắt ...
Có chương trình nào tôi có thể sử dụng để theo dõi thời gian tắt máy mất bao lâu không?
Máy tính của tôi mất rất nhiều thời gian để tắt máy.
Làm thế nào tôi có thể xác định thủ phạm? Tôi không muốn đợi vài phút để máy tính của tôi tắt ...
Có chương trình nào tôi có thể sử dụng để theo dõi thời gian tắt máy mất bao lâu không?
Câu trả lời:
Windows cung cấp Bộ đếm hiệu suất cũng như Theo dõi sự kiện cho phép các ứng dụng phân tích hiệu suất để người ta có thể xác định chính xác nguyên nhân của các vấn đề về hiệu suất, trong số đó có một bộ công cụ nổi bật: Bộ công cụ hiệu suất Windows có sẵn trong SDK Windows .
Trong bộ công cụ này, bạn sẽ tìm thấy xbootmgr.exe
, có nghĩa là Phân tích Hiệu suất Chuyển đổi Bật / Tắt của Windows .
Mặc dù tài liệu được liên kết ở trên đi vào tất cả các chi tiết cho mỗi lần chuyển đổi bật / tắt, đây là ý tưởng chung về theo dõi và phân tích quá trình chuyển đổi tắt máy bằng cách sử dụng xbootmgr
và GUI xperf:
Tải xuống Windows SDK, sau đó cài đặt Bộ công cụ hiệu suất Windows bằng cách sử dụng nó.
Mở một dấu nhắc lệnh với tư cách quản trị viên, sau đó chạy:
cd %ProgramFiles%\Microsoft Windows Performance Toolkit
Nếu bạn muốn giúp đỡ trong tương lai, bạn có thể gõ xbootmgr -help
cũng như xperf /?
.
Thực hiện theo dõi khởi động lại như thế này:
xbootmgr -trace shutdown -traceFlags BASE+DIAG+LATENCY -noPrepReboot
Sau khi khởi động, nó sẽ tạo ra một dấu vết trong vòng hai phút.
Theo dõi đã được lưu vào %ProgramFiles%\Microsoft Windows Performance Toolkit
, bạn có thể kéo nó vào xperf.exe
và nó sẽ được mở trong GUI.
Bạn sẽ thấy một GUI với các biểu đồ khác nhau, mũi tên ở bên trái cho phép bạn thêm / xóa biểu đồ.
Nhìn vào biểu đồ và xem nếu bạn có thể xác định bất cứ điều gì khác thường, bạn có thể chọn một khoảng và phóng to nó nếu bạn muốn. Nhấp chuột phải và unzoom khi bạn muốn xem toàn bộ.
Đối với mỗi biểu đồ, bạn có thể nhấp chuột phải để nhận các bảng tóm tắt cho khoảng thời gian hiện được chọn .
Trong các bảng này, sắp xếp theo trọng lượng hoặc theo thời gian để tìm ra nó chi tiêu nhiều nhất. Xin lưu ý rằng bạn có thể kéo quanh các cột, vì vậy, ví dụ bảng I / O cho phép bạn kiểm tra quá trình sử dụng cao nhất cũng như đường dẫn sử dụng cao nhất.
Bộ chia (một cột tiêu đề màu vàng) làm cho nó sao cho các cột bên phải của nó hiển thị tổng số cho các cột bên trái của nó. Vì vậy, nếu bạn có Đường dẫn trước và sau đó là Quá trình, thì bạn có thể mở cây cho tệp để xem quy trình nào đã truy cập vào đó và sau đó bạn nhận được tổng số cho kết hợp quy trình / tệp đó.
Bạn có thể tìm thêm thông tin về cách đồ thị và bảng hoạt động ở đây .
Nếu bạn bằng cách nào đó cần phải đi xuống để xem xét các dấu vết ngăn xếp; thực hiện một dấu vết khởi động khác và nối thêm -stackWalk profile
tham số, đặt _NT_SYMBOL_PATH và nhấp chuột phải vào bất kỳ biểu đồ nào và bật "Tải biểu tượng". Điều này sẽ cho phép bạn kiểm tra những chức năng mà nó thực sự đang gọi, nói chung bạn sẽ không cần điều này để tắt máy; nhưng nó có thể cho phép những thứ như phát hiện ra rằng tường lửa của bạn đang can thiệp vào trình gỡ lỗi của bạn với tư cách là một lập trình viên. Khá tiện lợi ...
Chúc may mắn, tôi hy vọng bạn có thể tìm ra thủ phạm. Nếu không thì hãy bỏ dấu vết và chúng tôi sẽ xem xét cho bạn ...
Xin lưu ý rằng các DPC là các cuộc gọi và ngắt thủ tục bị trì hoãn là các ngắt phần mềm , cả hai đều liên quan đến trình điều khiển / phần cứng.
Tôi tắt máy mất nhiều thời gian để chạy. Điều gì sau đây là ví dụ của tôi với câu trả lời của Tom .
Biểu đồ đầu tiên cho thấy vấn đề, Đĩa I / O :
Việc tắt máy của tôi mất hơn một phút và tất cả đều là I / O ổ cứng.
Biểu đồ tiếp theo, Sử dụng đĩa cho thấy một ổ đĩa gần như tối đa với mức sử dụng 100%:
Biểu đồ cuối cùng cho thấy việc sử dụng đĩa theo quy trình :
Lọc xuống tôi nhận ra tất cả là do WinInit.exe
:
Bằng cách nhấp chuột phải vào bất kỳ biểu đồ ổ cứng nào và chọn Bảng Tóm tắt , tôi có thể biết chi tiết về các tệp được truy cập theo quy trình nào:
56,4 giây tắt máy của tôi đã được sử dụng bằng cách WinInit
viết 6,7GB C:\hiberfil.sys
.
Nhưng câu hỏi là tại sao Windows ghi vào tệp ngủ đông của tôi khi tắt máy ?
Sau đó, tôi nhớ một tùy chọn tôi đã bật để xóa tập tin phân trang đó khi tắt máy:
Vì vậy, tôi vô hiệu hóa tùy chọn, và chạy xbootmgr
lại. Bây giờ tắt máy của tôi là 22 giây:
Bây giờ 9s
các 22s
shutdown được chi bằng System
văn bản cho một số unknown
tập tin. Điều đó có thể xứng đáng để điều tra nhiều hơn.
Nhưng bây giờ tôi đã giải quyết được một phút rưỡi tắt máy.
tôi đã đi xa hơn và giải quyết việc tắt máy chậm 22 tuổi. Từ t = 12s
đến t = 21s
hiển thị 100% sử dụng đĩa , nhưng không có I / O đĩa . Đó là một trở ngại.
Cho đến khi tắt máy, tôi nghe thấy âm thanh quen thuộc của một trong những ổ đĩa của mình. Việc tắt máy đã bị đình trệ trong 9 giây vì Windows đang cố truy cập vào một đĩa đã đi ngủ. Chín giây sau, ổ đĩa phản hồi và một lát sau máy tắt.
Trớ trêu rằng Windows đánh thức một đĩa để nói với nó rằng đã đến giờ đi ngủ.
Điều đó sẽ làm cho tắt máy thực tế của tôi 13,5 giây. Đó có thể là giá trị điều tra nhiều hơn. Nhưng bây giờ tôi đã giải quyết được việc tắt máy 22 giây.