2009-05-08 24 views
11

Tôi có một số dịch vụ WCF được lưu trữ trong dịch vụ windows. Hôm qua, tôi đã xem Trình quản lý tác vụ và nhận thấy rằng thời gian CPU cho quá trình dịch vụ cửa sổ của tôi đã hơn 5 giờ, trong khi phần lớn tất cả các quy trình khác là 0.Chính xác thời gian CPU trong trình quản lý tác vụ là gì?

Tôi có nên lo ngại rằng Thời gian CPU là hơn 5 giờ không?

Trả lời

3

Thời gian CPU là sự phản ánh thời gian chương trình của bạn dành thời gian thực hiện các lệnh trong CPU so với chờ IO hoặc các tài nguyên khác. Bạn có nên quan tâm đến nó là hơn 5 giờ không?

tôi sẽ đoán không, một số điều cần xem xét là:

  1. bao lâu quá trình này được chạy?

  2. Bạn có bất kỳ vấn đề nào về hiệu suất của quy trình hoặc các quy trình khác trên hộp mà điều này có thể ăn cắp CPU không?

  3. Bạn có các quy trình nào khác? Các quy trình hoạt động mà bạn mong muốn sử dụng CPU? Để tham khảo 80 quy trình, tôi có khoảng 20 quy trình có thời gian sử dụng CPU trên 1 giây.

Sửa

Có thể là các dịch vụ WCF là ăn cắp CPU từ các dịch vụ khác, bạn cần phải theo dõi họ đảm bảo hiệu suất của họ là những gì bạn mong đợi. Bạn cũng có thể có được một cảm giác dựa trên tổng số CPU sử dụng. Ví dụ, nếu bạn chỉ thấy 25% CPU được sử dụng, thì các dịch vụ khác của bạn sẽ không bị ảnh hưởng; tuy nhiên, nếu bạn chạy trên 75% thì chúng có thể bị ảnh hưởng.

Khi nói đến giám sát, hãy đảm bảo theo dõi theo thời gian để bạn có thể xem xu hướng hiệu suất như thế nào và nó sẽ giúp bạn tách biệt các vấn đề. Ví dụ bạn dịch vụ đang chạy tốt nhưng sau đó sau khi triển khai nó từ từ bắt đầu để có nhiều hơn và nhiều hơn nữa CPU (Giả sử 10% một tuần). Trừ khi xu hướng sử dụng CPU của bạn, bạn có thể một ngày thức dậy và thấy dịch vụ của bạn chạy chậm mà có thể là vài tuần sau khi triển khai.

+0

Quy trình đã chạy trong khoảng 3 tuần. Nó đã được khởi động lại tối qua và thời gian CPU hiện tại là 31 giây. Chúng tôi đã không nhận thấy bất kỳ vấn đề hiệu suất nào - trang web sử dụng các dịch vụ WCF này rất nhanh. Chúng tôi có một số dịch vụ web SOAP được lưu trữ trên cùng một hộp trong IIS nên có lo ngại rằng quá trình WCF có thể ăn cắp CPU và ảnh hưởng đến hiệu suất của các dịch vụ web khác. –

+3

Bạn có 5 giờ thời gian CPU trên một quá trình đã chạy 504 giờ (3 tuần * 7 ngày/tuần * 24 giờ/ngày). Vì vậy, đơn giản, trung bình, quá trình của bạn đã được sử dụng 1% của CPU toàn bộ thời gian. Trong thực tế tất nhiên, đó không phải là trường hợp, có lần dịch vụ của bạn đang sử dụng gần 0% CPU và thời gian khác nó đang sử dụng đáng kể hơn. Tôi sẽ nói nó không có gì phải lo lắng, nhưng nếu bạn quan tâm, bạn nên sử dụng 'perfmon' để theo dõi quá trình sử dụng CPU của bạn theo thời gian để xác định xem bạn có vấn đề gì không. –

13

CPU time là một dấu hiệu của bao nhiêu thời gian xử lý rằng quá trình này đã được sử dụng từ quá trình này đã bắt đầu (trong Windows:. Liên kết đến một Technet article)

Nó là cơ bản tính bằng cách:

CPU Time of Process = Process Uptime * CPU Utilization of Process 

Ví dụ, nếu quá trình đã được chạy trong 5 giờ và thời gian CPU là 5 giờ, thì điều đó có nghĩa là quá trình đã sử dụng 100% tài nguyên của CPU. Điều này có thể là một điều tốt hay xấu tùy thuộc vào việc bạn muốn giữ mức tiêu thụ tài nguyên thấp hay muốn tận dụng toàn bộ sức mạnh của hệ thống.

Nếu quá trình đang sử dụng 50% tài nguyên của CPU và chạy trong 10 giờ, thì thời gian CPU sẽ là 5 giờ.

1

Nếu bạn lo ngại về thời gian CPU mà quá trình của bạn đang sử dụng, bạn nên sử dụng perfmon để theo dõi quá trình sử dụng CPU của quy trình trong một khoảng thời gian dài để xác định xem bạn có gặp sự cố hay không.

0

Thời gian CPU chính xác trong trình quản lý tác vụ là gì?

Trả lời rất đơn giản:

Tổng thời gian xử lý, tính bằng giây, được sử dụng bởi quy trình kể từ khi bắt đầu.

+0

Trong vài phút. Đừng nhầm lẫn (như tôi) bởi một quá trình CPU dài và chạy - trong một khoảnh khắc, tôi nghĩ Thời gian của CPU là giờ: phút và thời gian đó dài hơn thời gian thực kể từ khi tôi khởi chạy quá trình này. Rất tiếc. – yoyo

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