Lấy số liệu thống kê CPU trên mỗi luồng


10

Làm cách nào để có được mức sử dụng CPU hiện tại cho mỗi luồng trong một ứng dụng cụ thể? Có thể lấy thông tin đó từ một nơi nào đó hoặc sử dụng một số công cụ?

Câu trả lời:


8

Để có câu trả lời nhanh, hãy sử dụng Process Explorer của SysIternal . Nhấp đúp chuột vào một quá trình để mở cuộc đối thoại chi tiết. tab luồng cung cấp một danh sách có thể sắp xếp của tất cả các luồng bao gồm cả delta chuyển đổi bối cảnh và thời gian CPU.


Tôi đã sử dụng Process Explorer trước đây, nhưng không thấy cột CPU trong đó vì nó quá hẹp và chỉ có thể nhìn thấy mũi tên sắp xếp là tiêu đề của cột.
dabest1

7

Perfmon (Performance Monitor) sẽ cung cấp cho bạn các chi tiết bạn muốn.

Giả định sau đây giả định Windows 2000, XP hoặc Server 2003. Tôi chưa kiểm tra nhưng tôi nghĩ trình giám sát hiệu suất hơi khác một chút trong Vista, Windows 7 & Server 2008.

Để chạy Trình theo dõi hiệu suất, hãy đi đến Bắt đầu> Bảng điều khiển> Công cụ quản trị> Hiệu suất

Để thêm biểu đồ cho từng luồng của ứng dụng, nhấp chuột phải vào biểu đồ và chọn Thuộc tính. Bạn có thể muốn xóa bất kỳ mặc định nào đi kèm để cung cấp cho bạn một biểu đồ sạch hơn.

Nhấp vào nút "Thêm ..." và đảm bảo "Sử dụng Bộ đếm máy tính cục bộ" đã được chọn (trừ khi bạn muốn giám sát một máy chủ khác, trong trường hợp đó, hãy tiếp tục và chọn tùy chọn đó).

Trong "Đối tượng hiệu suất", chọn "Chủ đề"

Chọn bộ đếm "% Thời gian xử lý", sau đó chọn tất cả các luồng bạn muốn theo dõi (điều khiển + nhấp để chọn nhiều). Nhấp vào "Thêm" và sau đó "Đóng".

Quay lại các thuộc tính, bạn có thể tùy chỉnh biểu đồ theo cách bạn muốn, bằng cách gán màu sắc, mẫu, v.v. Bấm OK.

Bạn có thể cần bắt đầu vẽ đồ thị, nếu có, sau đó nhấp vào dấu STOP màu đỏ để nó không được bật sẽ bắt đầu biểu đồ.


+ 1'd, ngoại trừ nhận xét WMI khi bắt đầu, vì nó không liên quan nhiều đến phần còn lại của bài đăng. Những gì đã được đề cập hoạt động khá tương tự cho Vista và 2008. Cuối cùng, bạn cũng có thể bắt đầu Perfmon bằng cách chạy perfmon.msc
DougN

Ugh, xin lỗi, tôi trộn lẫn các điều khoản của tôi. Tôi có ý nói perfmon. Tôi sẽ sửa nó ngay bây giờ.
Mark Henderson

1

Giám sát quy trình (sysiternals)

Tôi nghĩ rằng ProcessMonitor của Sysiternals (được Microsoft mua gần đây) có thể sẽ hoạt động.

Process Monitor là một công cụ giám sát nâng cao dành cho Windows, hiển thị hệ thống tệp thời gian thực, Đăng ký và hoạt động xử lý / luồng. Nó kết hợp các tính năng của hai tiện ích Sysiternals cũ, Filemon và Regmon, và thêm một danh sách cải tiến bao gồm lọc phong phú và không phá hủy, thuộc tính sự kiện toàn diện như ID phiên và tên người dùng, thông tin quy trình đáng tin cậy, ngăn xếp chuỗi đầy đủ với hỗ trợ biểu tượng tích hợp cho mỗi thao tác, đăng nhập đồng thời vào một tệp và nhiều hơn nữa. Các tính năng mạnh mẽ đặc biệt của nó sẽ làm cho Process Monitor trở thành một tiện ích cốt lõi trong bộ công cụ xử lý sự cố và tìm kiếm phần mềm độc hại.

Đây là đường dẫn:

http://technet.microsoft.com/en-us/sysiternals/bb896645.aspx


Cảm ơn đề nghị của bạn. Câu trả lời của bạn là chính xác, nhưng điều giúp tôi tìm thấy mức sử dụng CPU trên mỗi luồng trong Process Explorer là câu trả lời mà tôi đã chọn bởi Richard.
dabest1

0

bạn có thể sử dụng màn hình hiệu suất cửa sổ sẵn có, chỉ cần gõ perfmon khi bắt đầu, chạy. một lần trên perfmon, nhấp vào dấu cộng, chọn quy trình, bạn chọn quy trình của mình, sau đó chọn những gì bạn muốn xem. Trở lại vấn đề cơ bản!

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.