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%?

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%?

Odpowiedzi:
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) }'
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
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.
Spróbuj uruchomić htopz sudo. Potrzebujesz dostępu do konta root, aby zobaczyć aktywne wątki w tabeli.