Phân tích Hiệu suất của Microsoft: làm thế nào để tôi biết khi nào quá trình khởi động được thực hiện?


1

Tôi đã làm cho chương trình hoạt động, nhưng dường như tôi không thể tìm ra cách để có được các sự kiện khởi động. Tôi đã thử hành động, nhưng tài liệu của Microsoft đang thiếu trầm trọng.

Tôi đã có thể sử dụng trình quản lý khởi động với lệnh sau:

xbootmgr -trace rebootCycle -noPrepReboot -traceFlags BASE+CSWITCH+DRIVERS+POWER+REGISTRY -resultPath C:\

Điều này hoạt động, nhưng tôi dường như không thể tìm ra mất bao nhiêu thời gian để khởi động hệ thống. Trong BootVis, điều này thực sự dễ dàng và nó cho bạn thấy rõ khi quá trình khởi động được hoàn thành và điều gì đã chiếm thời gian xử lý đó. Trong phiên bản mới trong Bộ công cụ hiệu suất Microsoft Windows, có vẻ không dễ dàng gì nhưng có lẽ tôi đang thiếu một cái gì đó.

Làm thế nào để tôi biết khi quá trình khởi động được thực hiện?

Cập nhật : Tôi đã tìm kiếm ngày càng nhiều hơn vào các biểu đồ và biểu đồ đó mà không gặp may mắn trong việc tìm thời gian khởi động dứt khoát (không phải thời gian kể từ lần khởi động cuối cùng, mà là thời gian để khởi động hệ thống). Có ai thực sự sử dụng công cụ này? Có vẻ như không ai quan tâm đến vấn đề này cả!

Cập nhật 2 : Đây là một ảnh chụp màn hình về mức độ dễ dàng trong BootVis:

văn bản thay thế

Bây giờ khi tôi chạy xperf –i "boot_base+cswitch+compact_cswitch_1.etl" –o boot_1.xml –a boot"Tôi gặp lỗi sau:

văn bản thay thế

Câu trả lời:


6

Đầu tiên, tôi muốn giới thiệu tài liệu sau đây về quy trình khởi động và phân tích hiệu suất của Windows:

http://www.microsoft.com/whdc/system/sysperf/On- Offer_Transition.mspx

Nó khá dài, nhưng nó mô tả hầu hết mọi thứ bạn cần biết. Trong khi bạn đang ở đó, hãy xem tài liệu Xbootmgr trên MSDN:

http://msdn.microsoft.com/hu-hu/l Library / cc526988 (en-us) .aspx

Giải pháp nhanh chóng là:

  1. Chạy Xbootmgr để ghi lại dấu vết thời gian

    xbootmgr –trace boot -traceFlags base+cswitch+compact_cswitch
    

    (cài đặt –traceFlagsnày dẫn đến kích thước tệp theo dõi nhỏ hơn và ít ảnh hưởng đến hiệu suất khởi động)

  2. Chạy Xperf để xử lý tệp theo dõi thành XML

    xperf –i "boot_base+cswitch+compact_cswitch_1.etl" –o boot_1.xml –a boot
    

    trong đó -iviết tắt của tệp đầu vào và -oviết tắt của tệp đầu ra

  3. Mở tệp XML bằng Internet Explorer và chấp nhận cảnh báo bảo mật, do đó bạn có thể thu gọn và mở các nút XML

    nhập mô tả hình ảnh ở đây

Quá trình khởi động bao gồm năm giai đoạn:

  • PreSMSS
  • SMSSInit
  • WinLogonInit
  • ExplorerInit
  • PostExplorerPeriod

Kết thúc của ExplorerInit có nghĩa là màn hình nền được hiển thị (dấu ExplorerDesktopReady trong Xperfview). Người dùng có thể tương tác với máy tính để bàn, nhưng hệ thống vẫn đang bận rộn bắt đầu các dịch vụ nền và ứng dụng khởi động.

Trong giai đoạn cuối, PostExplorerPeriod Xperf lấy mẫu hệ thống cứ sau 100ms và kiểm tra xem nó có nhàn rỗi 80% hay không. Giai đoạn PostExplorerPeriod kết thúc khi hệ thống tích lũy 10 giây thời gian nhàn rỗi (100 lát thời gian).

Do đó, tổng thời gian khởi động được tính bằng cách trừ 10 giây từ thời gian kết thúc của PostExplorerPeriod (hoặc từ bootDoneViaPostBoot )

Đó là 29386 - 10000 = 19386 = 19.386 giây trên hình trên.

Dựa trên các thử nghiệm của tôi, có vẻ như dấu hiệu "boot xong" của Bootvis bằng với dấu hiệu ExplorerStartMothyReady của Xperfview.

nhập mô tả hình ảnh ở đây

Lưu ý: các dấu vết trên được thực hiện trên máy ảo Windows XP chạy trong VMware.


Tôi không thấy ExplorerStartMothyReady, v.v ... trong Lấy mẫu CPU của tôi bằng sơ đồ CPU! Bất kỳ lý do điều này có thể xảy ra. Ngoài ra, khi tôi chạy lệnh tạo tệp XML tôi gặp lỗi, hãy xem hình ảnh mới trong bài đăng của tôi.
Brian T Hannan

BTW, bạn sắp đạt được điểm thưởng cho việc này nếu tôi có thể khiến một trong hai người hoạt động bình thường.
Brian T Hannan

Đối với các dấu Explorer, nhấp chuột phải vào biểu đồ CPU và chọn Biểu đồ lớp phủ / Dấu / Dấu. Điều này sẽ chỉ hoạt động với dấu vết được thực hiện trên XP. Cách thích hợp và linh hoạt hơn là tạo đầu ra XML. Tạo một thư mục trống (ví dụ: C: \ Traces) chạy Xbootmgr và Xperf từ đó. Sử dụng tệp .etl kết quả làm tham số đầu vào cho Xperf.
Ryck

Tôi nghĩ công cụ này chỉ dành cho Vista và Win7?
Brian T Hannan

0

Lệnh bạn đã sử dụng được cho là chỉ theo dõi quá trình khởi động, vì vậy về cơ bản mọi thứ bạn thấy là (về lý thuyết) là một phần của quá trình khởi động.

Xem bài viết này: Tăng tốc thời gian khởi động trong Windows Vista bằng Bộ công cụ hiệu suất Windows .

Nó đặc biệt chỉ ra cách chạy chương trình xperfview, đây là trình phân tích trực quan cho phép bạn nhìn thấy toàn bộ quá trình khởi động:

hình ảnh


Đã từng trải qua rồi! Không có biểu đồ nào cho thấy thời gian dứt khoát khi quá trình khởi động được thực hiện. Nếu bạn có thể chỉ cho tôi theo hướng đó thì thật tuyệt. Những biểu đồ này rất hay, nhưng chúng không cung cấp cho tôi thông tin tôi cần. Trong bootvis, nó rất đơn giản ... nó sẽ hiển thị rõ ràng cho bạn thời gian kết thúc của quá trình khởi động.
Brian T Hannan

@Brian T Hannan: Ý của bạn là "thời gian quá trình khởi động đã hoàn thành"? Nếu đây là thời gian trôi qua, nó có thể được nhìn thấy trên trục thời gian.
harrymc

@harrymc: Vâng, tôi đang nói về thời gian trôi qua nhưng tôi cần một điểm đánh dấu hoặc chỉ dẫn khi quá trình khởi động kết thúc. Tôi không thấy bất cứ điều gì nói "Khởi động xong" hoặc một cái gì đó cho hiệu ứng đó. Hãy xem ảnh chụp nhanh mà tôi đã thêm gần đây từ Bootvis để xem việc này dễ dàng như thế nào với Bootvis chứ không phải Windows Performance Toolkit.
Brian T Hannan

@Brian T Hannan: Tôi sẽ thử cái này trên máy của tôi và liên lạc lại vào ngày mai.
harrymc

@Brian T Hannan: Tôi đã làm nó (và bây giờ tôi hiểu tại sao không ai sử dụng nó). Trong mọi trường hợp, trục thời gian tính bằng giây. Trong ví dụ có trong câu trả lời của tôi, quá trình khởi động mất 7.6 giây. Trên máy của tôi, tôi phải mất 36,4 giây, vì vậy tôi chỉ còn biết tự hỏi chuyện gì đang xảy ra trong 4 phút còn lại mà máy của tôi vẫn không sử dụng được ...
harrymc

0

Đây là những yêu cầu "con người" và được xử lý dễ dàng với bộ điều khiển mờ. Bạn thậm chí có thể ước tính phần trăm hoàn thành khởi động và các giây còn lại bằng phương tiện này. Đây là một ứng dụng đơn giản và miễn phí thực hiện nó:

http://www.eyesonpeople.com/en/startup-bar/

Ứng dụng này đã được tôi hoàn toàn sử dụng, thiết kế, phát triển và phân phối.


1
bạn là người sáng tạo , vui lòng chỉnh sửa bài đăng của bạn để tiết lộ liên kết của bạn. Bạn cũng có thể muốn bao gồm một chút chi tiết hơn và giải thích rằng nó miễn phí để sử dụng. Cũng lưu ý rằng việc đăng nhiều câu trả lời đề cập đến sản phẩm của riêng bạn chắc chắn sẽ khiến bạn bị cấm sử dụng trang web.
Arjan

Trước hết, cảm ơn bạn đã trả lời nhẹ nhàng. Tôi nghĩ rằng vấn đề chính trong chủ đề là việc sử dụng đĩa hầu như không thể đọc được "con người" và kết quả tốt hơn có thể đạt được chỉ bằng cách nhìn vào CPU và sử dụng bộ nhớ. Đây là lý do tại sao tôi đề xuất thuật toán của riêng tôi. Như Brian T Hannan đã nói vào lúc 12 tháng 2, lúc 23:05: "vì vậy tôi chỉ còn biết tự hỏi chuyện gì đang xảy ra trong 4 phút còn lại mà máy của tôi vẫn không sử dụng được ..." Tôi thực sự đang đọc cách sử dụng đĩa trong ứng dụng của tôi vài tháng trước, khi tôi nhận ra rằng phạm vi của giá trị này khá khó đoán trên các máy khác nhau.
Alfa Vassallo
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.