dlaczego licznik htop pokazuje> 90%, podczas gdy tabela wynosi 0,0%?


12

Dlaczego wskaźniki postępu w górnej części ekranu htoppokazują zużycie procesora stale powyżej> 90%, podczas gdy liczby w poniższej tabeli pokazują prawie bezczynny system z wykorzystaniem procesora i średnim obciążeniem na poziomie 0,0%?

częściowy zrzut ekranu htop


1
Mam dokładnie ten sam problem i jestem również na Dreamhost VPS (wirtualny prywatny serwer).
duality_

BTW, spójrz na mój przykład, jest jeszcze gorzej: demo.ddesign.si/temp/dh3.png
duality_

Odpowiedzi:


6

htopnie wie, że działa w środowisku zwirtualizowanym na poziomie jądra ( Dreamhost VPS korzysta z technologii VServer ). Następnie pokazuje użycie procesora dla wszystkich instancji systemu operacyjnego współużytkujących to samo jądro, a nie tylko twoje.

Zobacz vtopwyniki, które pokażą wszystkie procesy współużytkujące procesory, nie tylko te w twoim kontenerze.

Jeśli vtopnie jest zainstalowany, a prawdopodobnie jest to oczekiwane w przypadku rozwiązania komercyjnego, ponieważ klient nie chciałby zobaczyć, jakie procesy obsługują innych klientów, nie ma sposobu, aby rozwiązać problem z wnętrza kontenera, chyba że łatanie topźródła do obliczenia Wykorzystanie procesora zamiast pobierania go ze statystyk jądra.

Może to zrobić, sumując wykorzystanie procesora przez wszystkie procesy uruchomione w VServer, np .:

ps aux | awk '
    {cpu+=$3; ram+=$6} 
    END {printf("cpu: %d%%, RAM: %.2f MiB\n",cpu,ram/1024) }'

+1 za wyjaśnienie; topraporty podobne do htop na tym komputerze. Vtop nie przetestowany jako niezainstalowany. Oznaczenie tego jako zaakceptowane, ponieważ odpowiada „dlaczego?”, Chociaż nie odnosi się do domyślnego „i co można z tym zrobić?”, Ponieważ było to niewypowiedziane
Matt Wilkie

4

Ten rodzaj niespójności zwykle wskazuje na wysokie użycie procesora przez wątki jądra, które nie są htopdomyślnie wyświetlane . Aby je wyświetlić, htopprzejdź do Setup, a następnie Display options, a następnie odznacz Hide kernel threads. Powinno to pozwolić Ci zobaczyć wątki, które są odpowiedzialne.

Możesz także wyłączyć to zachowanie, ustawiając hide_kernel_threads0 na ~/.htoprc.


2
dzięki Chris. Zrobiłem to, ale wartości w tabeli nadal wynoszą 0%. Może jest to coś dziwnego w działaniu na maszynie wirtualnej? Hostem jest Virtual Private Server (na Dreamhost.com).
matt wilkie

Dla mnie jest to bardziej poprawna odpowiedź. Miałem proces, który zajmował dużo procesora z jądra i nie pojawiał się w procesach przestrzeni użytkownika.
Patrick Chu,

... z wyjątkiem tego, że mierniki procesora HTop pokazują czas jądra na czerwono, a czas użytkownika na zielono, i możemy wyraźnie zobaczyć, że prawie cały jest zielony.
MathematicalOrchid

1

Spróbuj uruchomić htopz sudo. Potrzebujesz dostępu do konta root, aby zobaczyć aktywne wątki w tabeli.


Nie wiem, jak dobrze to działa, czy nie, w zwykłych środowiskach zwirtualizowanych, jeśli istnieje coś takiego jak zwykłe, ale nie działa na VPS hosta marzeń.
matt wilkie
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.