rozbieżność między podanym% CPU 'top' a całkowitym zużyciem CPU procesora


1

Zauważyłem, że czasami (duże) różnice między zgłoszonym całkowitym zużyciem procesora a sumą wykorzystania procesora na proces przez dane aplikacje top i wmtop.

Jako przykład: niedawno uruchomiłem git filter-branch --index-filter na dość dużym repozytorium za pomocą potoku polecenia filtru indeksu git ls-files przez a grep filtrować i w xargs git rm --cached. Trwało to kilka minut; kiedy szło, zauważyłem, że oba wmtop i top wyświetlały wysokie (powyżej 50% na moim 2-rdzeniowym komputerze) całkowite wykorzystanie procesora, ale żadne z nich nie pokazało żadnych pojedynczych procesów, które wykorzystywałyby znaczną ilość czasu procesora.

Czy niektóre procesy nie są pokazane na liście procesów? Jakie to są procesy i czy istnieje sposób na sprawdzenie, ile czasu procesora zużywają?

Odpowiedzi:


2

Powinieneś dodać migawkę tops wyślij do swojego pytania, abyśmy mogli zobaczyć dokładnie to, co widzisz.

Najczęstszą rozbieżnością we wskaźnikach użycia procesora jest czas zliczania „I / O wait”, a także „faktycznie zajęty CPU”. Czas oczekiwania we / wy to czas procesu by aktywnie robić coś, więc potencjalnie mógł użyć całego przedziału czasowego, który dał mu program planujący, ale ustąpił, ponieważ jest zablokowany, czekając na zakończenie operacji we / wy.

Krótkie działające procesy mają również wpływ: jeśli zaczyna się wiele procesów, robi się coś małego, a następnie zamyka się, mogą one nie być widoczne na wierzchu lub podobne (szczególnie, jeśli często nie masz aktualizacji na najwyższym poziomie), ponieważ zrobiły swoje i zatrzymał się między aktualizacjami. Nawet jeśli nie byli obecni, gdy top pobierał próbki (więc nie pojawiają się na liście zadań), to ogólnie liczą się w /proc system plików będzie nadal pokazywany od ostatniej próbki, gdy CPU był zajęty dla znaczników X schedulera i bezczynny dla Y.


Ach, myślę, że twój drugi akapit ma to. top odświeżał się co sekundę i filter-branch przetworzono 300 zatwierdzeń w ciągu kilku minut, przy czym każde zatwierdzenie jest przetwarzane przez nowo utworzony proces. Czy istnieje sposób, aby to uzyskać top próbkować częściej bez zmiany częstotliwości odświeżania?
— intuited

top nie mogę tego zrobić, ale atop mogą. Powinieneś znaleźć go w standardowych repozytoriach twojego dystrybutora, jeśli nie, możesz go uzyskać (i więcej informacji) od atoptool.nl
— David Spillett
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.