Co oznacza procent procesora?


11

Obserwuję proces procentowy wykorzystania mojego procesora. W jaki sposób proces wykorzystuje tylko 50% procesora? Czy proces nie wykorzystuje 100%, a następnie 0%, a następnie 100%? To nie tak, jak każda inna instrukcja to inny program.


1
Czy przypadkiem masz podwójny procesor?

Zdecydowanie pytanie dla SuperUser.
Noldorin

Odpowiedzi:


16

Sonduje wyniki łącznie tylko raz na sekundę. Patrzysz, ile z ostatniej sekundy wykorzystał.

Jeśli widzisz procesor siedzący przez chwilę na poziomie 50%, prawdopodobnie dzieje się tak, że używa 100% jednego procesora w systemie z podwójną jednostką centralną.


4
„jeden rdzeń dwurdzeniowego systemu” - ... lub nawet pojedynczy procesor z „hyperthreading”.

@ChrisW: naprawiono.
Joel Coehoorn,

Procentowe użycie procesora jest często zgłaszane na 100% dla każdego procesora osobno, więc łączna ilość mocy procesora do wykorzystania w systemie dwurdzeniowym wynosi 200%, w czterordzeniowym 400% itd.
David Z

Nie ma ich w menedżerze zadań systemu Windows.
Joel Coehoorn,

11

Technicznie masz rację. W danym momencie procesor jest albo używany, albo nieużywany. Ale wyświetlenie tego na wykresie nie byłoby bardzo pomocne, więc wykres uśrednia użycie procesora przez pewien okres czasu, prawdopodobnie co sekundę.


3

System operacyjny planuje proces na określony czas. Więc jeśli proces jest zaplanowany na (powiedzmy) 1ms na 10ms, wtedy będzie on zużywał 10% procesora.

Jest to trochę sprzeczne z intuicją, ponieważ (w systemie jednowątkowym, z pojedynczym procesorem) proces jest uruchomiony lub nie. tzn. używa 100% lub 0%. Wyświetlany procent jest mierzony w oknie czasowym i jest miarą przydzielania przedziałów czasowych przez system operacyjny do uruchomienia.

Pamiętaj, że twój proces nie przyczyni się do tego, jeśli uzyskujesz dostęp do I / O. Więc jeśli wykonujesz ogromne obliczenia, zarejestrujesz się w 100% (zakładając, że nic więcej nie działa). Jeśli następnie zaczekasz na dostęp do pakietu sieciowego / dysku itp., Twój procesor spadnie, mimo że proces nadal działa.


2

Na bardzo niskim poziomie masz rację. W dowolnym momencie procesor albo wykonuje instrukcję dla danego procesu, albo tak nie jest.

Ale Twój system operacyjny znajduje się pomiędzy procesami a procesorem, dzięki czemu dzielą się czasem. Wyświetlany procent to procent czasu ostatniego przetwarzania, jaki system operacyjny przyznał temu procesowi.


1

Opiera się na średnim czasie. Mimo że wszystkie wątki mogą mieć tę samą paczkę czasu procesora (na podstawie priorytetu), wątki mogą po prostu powiedzieć „dziękuję, ale jestem bezczynny” i przekazać swoją kolej do następnego wątku. Właśnie dlatego programy nie zawsze używają tego samego% czasu, a większość programów zużywa 0% procesora, a programy, które naprawdę potrzebują procesora, mogą same sobie zająć prawie 100% czasu.

Dlaczego ogranicza się do 50%? Prawdopodobnie masz dwa rdzenie procesora i używa tylko jednego.

Lub, jak sugeruje, wykorzystuje hipertekst, ale nie wiem, jak ten zachowuje się dokładnie.


0

Twój program może wykonywać wiele operacji we / wy (dyskowe lub sieciowe operacje odczytu / zapisu). Dzięki temu program byłby zajęty, ale nie wymagałby czasu procesora.


0

Wykorzystanie systemu jest próbkowane i uśredniane, co jest jedyną rozsądną rzeczą do zrobienia.

Np. Zapis czasu, przez jaki przechowywany jest proces / wątek uruchomiony przez 1 sekundę. Jeśli spędził 1 sekundę na procesorze, to 100% procesora (lub 50%, jeśli masz 2 procesory itd.), Jeśli spędził 100 ms, to 10% wykorzystania procesora.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.