Đăng nhập% CPU theo quy trình theo thời gian


39

Có cách nào dễ dàng trên Windows để ghi lại% thời gian CPU cho mỗi quá trình theo thời gian vào một tệp để phân tích sau không?

Theo như tôi có thể thấy ...

  1. Trình quản lý tác vụ hiển thị cho tôi% CPU trên mỗi quy trình nhưng chỉ trực quan - không có cách nào lưu vào tệp.
  2. Perfmon sẽ cho phép tôi lưu vào một tệp và cũng sẽ tạo một tệp dựa trên thời gian (chụp ảnh nhanh theo các khoảng thời gian được chỉ định) - đó là gần như những gì tôi muốn, ngoại trừ theo như tôi có thể thấy nó không thể phá vỡ% CPU theo quy trình.
  3. Process Explorer sẽ cho phép tôi phân tích theo quy trình, nhưng nó sẽ chỉ lưu tệp dưới dạng ảnh chụp nhanh của một điểm duy nhất trong thời gian

Vì vậy, không có cái nào trong số này hoàn toàn là thứ tôi cần: Tôi cần lấy một tệp chứa '10 quy trình hàng đầu của CPU, cứ sau 15 giây, cho đến khi tôi dừng theo dõi' Lý do tôi cần điều này vì tôi có một máy trên đó Một số quy trình gây ra sự đột biến ngắn ngủi trong việc sử dụng CPU nhiều lần trong ngày và tôi cần tìm ra quy trình nào là thủ phạm.

Có thể làm bất cứ điều gì, hoặc tôi đã bỏ lỡ một số tính năng của perfmon hoặc quá trình thám hiểm?

Câu trả lời:


37

Giám sát quá trình có thể làm điều đó cho bạn.

Trước tiên bạn có thể muốn kích hoạt bộ sưu tập các sự kiện định hình:

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

Sau đó, chỉ cần thu thập dữ liệu bao lâu bạn muốn (bạn có thể muốn thiết lập bộ lọc và bật Thả các sự kiện được lọc nếu bạn có kế hoạch thu thập trong thời gian dài). Sau đó, đi đến Công cụ -> Tóm tắt hoạt động của quy trình:

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

Bây giờ bạn sẽ nhận được một danh sách tất cả các quy trình hoạt động mà bạn đã ghi lại, với hoạt động của chúng theo thời gian. nhập mô tả hình ảnh ở đây

Sau đó, bạn có thể mở các chi tiết cho một quy trình (bằng cách nhấp đúp vào nó) và kiểm tra dấu thời gian cho các sự kiện nhất định trong biểu đồ:

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


1
Cảm ơn. Điều đó trực quan khá ấn tượng (tôi sợ phải nghĩ nó sử dụng bao nhiêu bộ nhớ nếu bạn để nó chạy trong một thời gian dài). Nó chắc chắn là hữu ích để có thể nhìn thấy trên màn hình những quy trình đang làm. Tuy nhiên, nếu tôi nhấp vào 'Lưu' từ màn hình tóm tắt hoạt động của quy trình, những gì được lưu vẫn là ảnh chụp nhanh một thời điểm, không có dữ liệu phụ thuộc vào thời gian.
PhantomDrummer

@Ph PhantomDrummer: Lưu và tải các tệp PML hoạt động hoàn hảo đối với tôi. Tất cả các sự kiện được ghi lại trước đó được khôi phục và có sẵn để phân tích sau khi tải PML. Đảm bảo chọn Tất cả các sự kiện khi lưu tệp. Trong trường hợp nó không muốn hoạt động, hãy cho tôi biết và tôi sẽ bao gồm nhiều chi tiết hơn trong câu trả lời của tôi. Chúc may mắn :)
Der Hochstapler

1
@Ph PhantomDrummer: Chuyển đến Tùy chọn -> Cấu hình sự kiện. Ở đó bạn có thể đặt khoảng thời gian là 1s hoặc 100ms. Đó là xa như nó đi. Nếu tệp vẫn phát triển quá lớn, bạn phải thiết lập các bộ lọc nghiêm ngặt hơn và bật Drop Filtered Events.
Der Hochstapler

1
@Pacerier One là một trình quản lý tác vụ, các hoạt động ghi lại khác được thực hiện bởi các tác vụ.
Der Hochstapler

6
Có gì đơn giản hơn? Có vẻ như bạn cần học cách sử dụng nó. Đối với một số kiểm tra nhỏ, tôi chỉ muốn có thời gian sử dụng cpu khi quá trình sử dụng cpu cao hơn X%
Darius.V
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.