Jak zdiagnozować skoki CPU Ubuntu / IO czekać?


19

Używam Ubuntu i co kilka minut przestaje odpowiadać przez pół sekundy do pełnej sekundy, co zwykle nie jest problemem, ale sprawia, że ​​próba pisania kodu jest wyjątkowo frustrująca, gdy próbujesz nacisnąć backspace lub nawigować po kodzie i nic się nie dzieje. Problem polega na tym, że zamrożenie jest tak krótkie, że top nie ma czasu, aby pokazać mi, co przyspiesza procesor (zakładając, że coś jest, ale nie wiem, co jeszcze mogłoby to spowodować).

Czy ktoś wie, jak rozwiązać ten problem z wydajnością?

Edycja: Próbowałem zalogować się za pomocą Gnome Classic (bez efektów) zamiast Unity, ale wciąż zawiesza się co jakiś czas.

Edycja: Wykres procesora nie wydaje się pokazywać żadnych rzeczywistych skoków, więc wydaje się, że miałeś rację, a moja pierwotna diagnoza skoków procesora jako problemu była nieprawidłowa, teraz podejrzewam, że czekam. Nie przypominam sobie, aby działo się to przez kilka krótkich tygodni, w których działałem na Windows 7 Starter, co prowadzi mnie do wniosku, że nie jest to (tylko?) Sprzęt .. czy mogę coś poprawić, aby to poprawić? Używam Acer Aspire One D257 z Ubuntu 11.10.

Edycja: Dane wyjściowe dmesgznajdują się na stronie http://paste.ubuntu.com/1060054/, a plik kern.log znajduje się na stronie http://paste.ubuntu.com/1060055/


To pytanie jest interesujące zarówno w przypadku ogólnym , jak i konkretnym.
Rafał Cieślak

1
Włączając wykres procesora, możesz na pewno wiedzieć, czy to skok CPU powoduje spowolnienie. We / wy może być kolejnym winowajcą lub w niektórych przypadkach opóźnieniem sieci. Czy dzieje się tak bez względu na to, jakiego programu używasz w tym czasie?
David Oneill

Doskonała uwaga, David, zrobię to. Zawsze używam Vima i Firefoksa na tym komputerze, są one zawsze otwarte i dzieje się to bez względu na to, co jest na pierwszym planie. Na początku myślałem, że to automatyczne generowanie ctagów z Vima, ale po skomentowaniu tej sekcji i wymazaniu całego mojego pliku vimrc problem nadal występuje. Spróbuję na wykresie, aby zobaczyć, czy rzeczywiście jest to skok procesora, czy czekanie we / wy.
Jeff Welling

Jak szybko reaguje? Czy wskaźnik myszy przestaje się aktualizować?
AdamKG

Przepraszam za opóźnioną odpowiedź, myślę, że również zawiesza wskaźnik, ale przestało się dziać lub ostatnio go nie zauważyłem. Co ciekawe, ostatnio miałem także podłączony i zaszyfrowany dysk USB do tworzenia kopii zapasowych, przez co zastanawiam się, czy można to powiązać. Próbuję wykonać więcej testów z podłączonym dyskiem i bez niego, aby ustalić, czy A) jest powiązany i B) wskaźnik przestaje reagować podczas tych zawieszeń.
Jeff Welling

Odpowiedzi:


12

Istnieją dwa dodatkowe narzędzia, które możesz chcieć sprawdzić:

Jeśli nie otrzymujesz tego, czego chcesz od tych dwóch narzędzi, być może będziesz musiał użyć narzędzi programistycznych, takich jak OProfile lub Sysprof .

Wszystkie wymienione narzędzia są dostępne w repozytoriach ubuntu

Jeśli chodzi o twoją obserwację z usb, z tego, co słyszałem, niektóre kontrolery usb zachowują się nieco niestabilnie z pewnym sprzętem, który może powodować burze Przerwania, może to powodować to, co opisujesz. Spróbuj wyszukać usb, aby przerwać burzę, a otrzymasz sporo trafień.


Hm, na pewno przyjrzę się burzom przerywającym, ale problem nadal występuje, nawet po regularnym zaprzestaniu używania urządzeń USB w tym systemie. Przez większość czasu będę programować w drodze do pracy (tranzyt) i wtedy to zauważę.
Jeff Welling

5

Używałem htopa od lat i w końcu znalazłem, jak uzyskać wykorzystanie procesora według liczb i wartości procentowych, jestem zaskoczony, że przegapiłem to.

htop iowait image

Naciśnij F2

Strzałka do „Dostępne metry”

Podświetl średnią procesora

F5 lub F6, aby dodać do kolumny

Strzałka do pozycji „CPU [Bar]”

Naciskaj F4, aż pojawi się „CPU [Tekst]”

Możesz także uzyskać IORates

F2-> Kolumny-> Dostępne

Dodaj IO_RATE, IO_READ_RATE, IO_WRITE_RATE


2

Najlepszym sposobem, aby to zobaczyć, jest użycie aplikacji wiersza polecenia, takiej jak toplub htop Zainstaluj htop .

Top
Top

htop
htop

Trzeba będzie przez chwilę go obserwować, dopóki nie zobaczy się, co powoduje skok (jeśli rzeczywiście jest to wzrost wykorzystania procesora, a nie czekania we / wy, co może nie zostać złapane we wszystkich przypadkach).


1
Znam top, ale nie htop, czy htop wskazuje na oczekiwanie IO / jak interpretować tę część jego wyniku? Sprawdziłem FAQ na stronie htop, ale nie wspomniałem o IO czekać.
Jeff Welling

@JefWelling: to nie afaik. Oba pokażą to jednak jako użycie procesora.
RolandiXor

Istnieje dodatkowy monitor działań we / wy. Nazywa się iotop (patrz odpowiedź danjo133s).
FuzzyQ,

2

Nowym i bardzo pomocnym narzędziem jest cpustat. Ma graficzny interfejs, który pozwala monitorować wiele pid w czasie.

wprowadź opis zdjęcia tutaj

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.