Làm thế nào tôi có thể phân tích một vấn đề hiệu suất xảy ra trước hoặc trong quá trình đăng nhập?
Làm thế nào tôi có thể phân tích một vấn đề hiệu suất xảy ra trước hoặc trong quá trình đăng nhập?
Câu trả lời:
Process Monitor là một công cụ sẽ thu thập các sự kiện hệ thống tệp, đăng ký và mạng cho tất cả các quy trình đang chạy. Các sự kiện được thu thập sau đó có thể được phân tích để xác định cách một hệ thống (hoặc một ứng dụng) đang hoạt động bên trong trong các tình huống nhất định.
Trong trường hợp này, chúng tôi muốn sử dụng công cụ để xác định sự kiện nào trong quá trình khởi động mất nhiều thời gian để hoàn thành.
Tải xuống Process Monitor và chạy nó.
Trong menu Tùy chọn, chọn Kiểm tra Ghi nhật ký khởi động .
Trong hộp thoại kết quả, kiểm tra Tạo các sự kiện định hình và bấm OK .
Khởi động lại hệ thống và nhân rộng vấn đề của bạn. Khi quá trình đăng nhập đã hoàn tất, hãy bắt đầu Process Monitor.
Process Monitor sẽ thông báo cho bạn rằng nó đã thu thập hoạt động trong thời gian khởi động và sẽ hỏi bạn nếu bạn muốn lưu dữ liệu đó ngay bây giờ. Xác nhận quá trình bằng cách nhấp vào Có .
Chọn một vị trí lưu trữ thích hợp cho .pml
tệp và chờ dữ liệu được chuyển đổi. Khi dữ liệu đã được tải, hiển thị cột Thời lượng bằng cách mở menu ngữ cảnh trên một trong các tiêu đề cột và nhấp vào Chọn Cột ...
... Và kiểm tra hộp kiểm thích hợp trong hộp thoại kết quả.
Tạo bộ lọc mới bằng cách chọn Bộ lọc ... * từ menu ** Bộ lọc .
Tạo một bộ lọc cho Thời gian cột nó ở đâu hơn một giá trị của 1 , trong trường hợp sự xâm nhập nên được bao gồm . Nhấp vào Thêm để thêm bộ lọc vào danh sách và xác nhận lựa chọn với OK .
Tại thời điểm này, danh sách sự kiện trong Process Monitor sẽ chỉ hiển thị các sự kiện mất hơn 1 giây để hoàn thành. Bạn sẽ muốn kiểm tra cột Thời lượng cho các sự kiện mất nhiều thời gian để hoàn thành.
Đối với mục đích trình diễn, đây là một lựa chọn các sự kiện mất hơn 10 giây để hoàn thành. Điều này đã được chụp trong một máy ảo cho mục đích trình diễn.
Mặc dù các sự kiện này không nhất thiết phải là thủ phạm ngăn chặn quá trình đăng nhập để hoàn thành, việc vô hiệu hóa dịch vụ Lập chỉ mục Windows và Avast Anti-Virus có thể đáng để thử trong quá trình cài đặt này.
xperf là một công cụ phân tích hiệu suất từ Bộ công cụ hiệu suất Windows. Sử dụng nó và có thể phân tích dữ liệu thu thập được có thể là một thách thức. Tuy nhiên, chúng tôi sẽ xem cách thu thập dữ liệu cần thiết và cách xem các phần có liên quan của dữ liệu đó.
Xin lưu ý rằng Bộ đánh giá và triển khai Windows (ADK), được yêu cầu cho việc này, chỉ hoạt động trên Windows 7 trở lên.
Tải xuống Windows ADK và cài đặt ít nhất thành phần Bộ công cụ hiệu suất Windows .
Sau khi cài đặt hoàn tất, hãy mở một dấu nhắc lệnh nâng cao.
Thay đổi thành một thư mục mà bạn muốn theo dõi của bạn được đặt. Giống như máy tính để bàn.
Cách được đề xuất (theo Sử dụng XBOOTMGR để chụp khởi động chậm hoặc đăng nhập chậm do khởi động chậm ) để ghi lại dấu vết trong khi khởi động là:
xbootmgr -trace boot -traceflags base+latency+dispatcher -stackwalk profile+cswitch+readythread -notraceflagsinfilename -postbootdelay 10
Hệ thống sẽ bắt đầu theo dõi và khởi động lại.
Sau khi khởi động lại, hãy làm theo các hướng dẫn trên màn hình. Bạn sẽ được yêu cầu cho phép quá trình thu thập nâng lên. Sau khi quá trình hoàn tất, bạn sẽ tìm thấy dấu vết kết quả trong thư mục từ nơi bạn đã bắt đầu theo dõi.
Trong trường hợp của tôi, nó đã tạo một boot_1.etl
(và tương ứng boot_1.cab
) trên Bàn làm việc.
Mở .etl
tệp trong Windows Performance Analyzer .
Sau khi bạn mở theo dõi, bạn có thể thấy các dấu hiệu có thể có về sự cố của bạn bị ràng buộc với phần cứng. Nhìn nhanh vào các tổng quan về tính toán , lưu trữ và bộ nhớ trong Graph Explorer sẽ hiển thị các đỉnh cần được phân tích sâu hơn.
Đối với mục đích trình diễn, chúng ta hãy xem biểu đồ Sử dụng theo quy trình . Để hiển thị nội dung, chỉ cần nhấp đúp vào biểu đồ để thêm nó vào chế độ xem Phân tích .
Lưu ý rằng không có biểu đồ nào hiển thị bất kỳ đỉnh nào liên quan. Các đỉnh màu xanh khi bắt đầu thuộc về quy trình Hệ thống và dự kiến sẽ xảy ra vào thời điểm này.
Các đỉnh khác trong biểu đồ Sử dụng CPU có thể được xem tốt hơn trong ngữ cảnh. Vì vậy, hãy thêm một biểu đồ khác vào chế độ xem Phân tích. Biểu đồ chúng tôi đang tìm kiếm là biểu đồ Giai đoạn khởi động , nằm trong phần Hoạt động hệ thống .
Trong ảnh chụp màn hình ở trên, tôi cũng đã thêm biểu đồ Sự kiện Chung ở phía dưới để cung cấp ngữ cảnh bổ sung. Tuy nhiên, điều cần lưu ý ở đây là thực tế là đỉnh cao có thể nhìn thấy đầu tiên trong việc sử dụng CPU là do dịch vụ Avast gây ra. Chúng tôi đã nhận thấy trong phân tích Trình giám sát quy trình rằng quy trình này là một trong những quy trình chiếm một phần lớn thời gian trong quy trình khởi động.
Những gì chúng ta cũng thấy ở đây, bây giờ mà chúng ta có thể nhìn thấy nó trong bối cảnh của giai đoạn khởi động, là đỉnh cao đã xảy ra sau khi các Winlogon Init giai đoạn (và ngay cả trong những bài khởi động giai đoạn đó sẽ xảy ra khi bạn đã có thể nhìn thấy màn hình). Vì vậy, có thể coi là không chắc rằng quá trình này thực sự gây ra cho chúng ta một vấn đề trong giai đoạn trước khi chúng ta nhìn thấy máy tính để bàn.
Những gì chúng ta sẽ tìm kiếm là các sự kiện xảy ra trong hoặc xung quanh giai đoạn Khởi động Winlogon . Để làm cho điều đó dễ dàng hơn, bạn có thể chọn pha trong biểu đồ Giai đoạn khởi động. Điều này sẽ làm nổi bật tất cả các mục trong tất cả các biểu đồ đã xảy ra trong giai đoạn đó.
Một biểu đồ để nhìn rõ hơn, chắc chắn là biểu đồ Dịch vụ , vì hầu hết chúng được bắt đầu trong giai đoạn Khởi tạo Winlogon.
Như tôi đã nói trong phần giới thiệu, phân tích dữ liệu này có thể phức tạp, trừ khi vấn đề nhảy ngay vào bạn khi bạn mở dấu vết. Tuy nhiên, đây chắc chắn là công cụ phù hợp để phân tích vấn đề. Tùy thuộc vào tình huống, bạn thậm chí có thể muốn thu thập dấu vết ngăn xếp với nó để khoan sâu hơn nữa. Quá trình này là ngoài phạm vi của bài này mặc dù.