2010-09-14 27 views
6

Trong thử nghiệm hiệu suất, tôi thấy rằng các giá trị của Process(w3wp)\% Processor Time lớn hơn 100. Một số giá trị là.net hiệu suất truy cập - Process (w3wp) % Processor Time

237.1436486 
312.5338052 
341.2373994 
264.4097661 
191.6237736 

Tôi nghĩ giá trị này thể hiện việc sử dụng CPU bởi quá trình w3wp. Tôi không hiểu tại sao giá trị lớn hơn 100%.

Trả lời

6

Nếu bạn có nhiều lõi, nó có thể vượt quá 100, đó là tổng mức sử dụng bộ xử lý cho mỗi bộ xử lý (lõi hoặc lõi ảo) sao cho trên 100 là bình thường (100*numberOfCores là giá trị).

Sử dụng phiên bản Process(w3wp_Total) của bộ đếm nếu bạn muốn CPU tổng%, điều này mũ ra tại 100.

+0

Xin cảm ơn. Điều đó có ý nghĩa, tôi sẽ tìm quầy bạn đã đề cập – testuser

+0

Có bộ đếm như vậy không? Người duy nhất tôi biết, ngoài "Process (w3wp)" sẽ là "Process (_Total)", tất nhiên là tổng của tất cả các process. Cá nhân, tôi đơn giản đã làm một ("Process (w3wp) \% Processor Time"/Environment.ProcessorCount) khi gặp vấn đề đó. –

+0

Tôi không tìm thấy quy trình truy cập (w3wp_Total) nhưng tôi đã xem xét thực hiện tương tự ("Process (w3wp) \% Processor Time"/Environment.ProcessorCount) Cảm ơn! – testuser

5

Như Nick Craver đã nói, nó là giá trị kết hợp của tất cả các bộ vi xử lý (logic hay vật lý). Để nhận giá trị từ 0% đến 100%, chỉ cần chia giá trị cho số bộ xử lý (ví dụ: Environment.ProcessorCount, giả sử bạn muốn thực hiện điều đó trong mã .NET).

Các vấn đề liên quan