2009-05-08 20 views
11

Mam niektóre usługi WCF, które są hostowane w systemie Windows. Wczoraj przyjrzałem się Menedżerowi zadań i zauważyłem, że czas procesora dla mojego procesu obsługi systemu Windows wynosił ponad 5 godzin, podczas gdy większość wszystkich pozostałych procesów wynosiła 0.Czym dokładnie jest czas procesora w menedżerze zadań?

Co to oznacza?

Czy powinienem się martwić, że czas procesora wynosił ponad 5 godzin?

Odpowiedz

3

Czas procesora jest odbiciem tego, ile czasu program spędza wykonując instrukcje w procesorze, a nie czekając na IO lub inne zasoby. Czy powinieneś się przejmować tym, że jest to 5+ godzin?

Przypuszczam nie, niektóre rzeczy do rozważenia są:

  1. Jak długo ten proces został uruchomiony?

  2. Czy masz problemy z wydajnością procesu lub innymi procesami na tym polu, które mogą kradnąć procesor?

  3. Jakie inne procesy posiadasz? Czy te aktywne procesy wymagają użycia procesora? Dla odniesienia się do 80 procesów mam około 20 ma ponad 1 sekundę czasu procesora.

Edit

Jest możliwe, że usługa WCF jest kradzież CPU z innymi usługami, trzeba monitorować ich upewniając ich wydajność jest to, czego oczekują. Możesz również uzyskać sens na podstawie całkowitego wykorzystania procesora. Jeśli na przykład widzisz tylko 25% używanego procesora, nie powinno to wpłynąć na twoje pozostałe usługi; jednak, jeśli Twój bieg powyżej 75%, mogą one zostać dotknięte.

Jeśli chodzi o monitoring, pamiętaj, by monitorować go z biegiem czasu, aby móc zobaczyć, w jaki sposób trendy wydajnościowe i które pomogą Ci wyizolować problemy. Na przykład usługa działa poprawnie, ale po wdrożeniu powoli zaczyna pobierać coraz więcej procesorów (przyjmuj 10% tygodniowo). Dopóki nie zwiększysz zużycia procesora, możesz pewnego dnia obudzić się i zobaczyć, że usługa działa wolno, co może nastąpić kilka tygodni po wdrożeniu.

+0

Proces trwał około 3 tygodni. Został zrestartowany wczoraj wieczorem, a czas procesora wynosi obecnie 31 sekund. Nie zauważyliśmy żadnych problemów z wydajnością - strona internetowa korzystająca z tych usług WCF jest bardzo szybka. Mamy pewne usługi sieciowe SOAP hostowane w tym samym pudełku w IIS, więc istniało obawy, że proces WCF może kradnąć procesor i wpływać na wydajność innych usług internetowych. –

+3

Masz 5 godzin czasu procesora na proces, który trwa 504 godziny (3 tygodnie * 7 dni/tydzień * 24 godziny/dzień). W uproszczeniu przeciętnie Twój proces zużywa 1% CPU przez cały czas. W rzeczywistości oczywiście tak nie jest, są chwile, kiedy twoja usługa używa prawie 0% CPU, a innym razem używa znacznie więcej. Powiedziałbym, że nie ma się czym martwić, ale jeśli się martwisz, powinieneś użyć "perfmon", aby śledzić wykorzystanie procesora przez czas, aby określić, czy masz problem. –

13

CPU time jest wskazanie, ile czasu przetwarzania że proces został użyty ponieważ proces ten został zapoczątkowany (w systemie Windows. Linku do Technet article)

To jest w zasadzie obliczany przez:

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

Na przykład, jeśli proces trwa 5 godzin, a czas procesora wynosi 5 godzin, oznacza to, że proces wykorzystał 100% zasobów procesora. Może to być dobra lub zła zależnie od tego, czy chcesz ograniczyć zużycie zasobów, czy też chcesz wykorzystać całą moc systemu.

Jeśli proces korzystał z 50% zasobów procesora i działał przez 10 godzin, czas procesora wyniósł 5 godzin.

1

Jeśli obawiasz się, ile czasu procesora zużywa twój proces, powinieneś użyć perfmon do śledzenia użycia procesora przez dłuższy czas w celu ustalenia, czy masz problem.

0

Czym dokładnie jest czas procesora w menedżerze zadań?

odpowiedzi jest prosta

Całkowity czas procesora, w sekundach, stosowane w procesie, ponieważ został uruchomiony.

+0

W ciągu kilku minut. Nie dajcie się zwieść (tak jak ja) długotrwałemu procesowi o niskiej CPU - przez chwilę wydawało mi się, że czas procesora to godziny: minuty, i że od rozpoczęcia procesu był dłuższy niż w czasie rzeczywistym. Ups. – yoyo