Dlaczego mój system zawiesza się po uruchomieniu ps, w i ewentualnie innych poleceń?

10

Nie wiem dlaczego, ale nie mogę uruchomić poleceń pslub wna moim komputerze z systemem Ubuntu 10.04LTS. Zrobiłem śledzenie dla obu i oba zatrzymały się podczas odczytu części tego samego pliku.

Oto wynik działaniaps

A oto wynik dlaw

Plik zatrzymał się również podczas odczytu ... samego? http://pastebin.com/9qRB5eHh

Co się dzieje?

użytkownik69239
źródło

Odpowiedzi:

9

Zdarzyło mi się to raz, gdy serwer NFS przestał działać.

Fakt, że zawiesił się, próbując odczytać informacje o pid 17398, a pid 17398 jest w stanie D(oczekiwanie na dysku), sugeruje, że może to być również przyczyną.

read(6, "Name:\tconvert\nState:\tD (disk sle"..., 1023) = 664
open("/proc/17398/cmdline", O_RDONLY)   = 6

Jeśli masz podłączenia NFS, myślę, że najlepszą opcją jest próba przywrócenia serwera NFS.

W przeciwnym razie umount -f <mount>może pomóc.

Mikel
źródło
Wydaje mi się, że ponowne uruchomienie powinno to naprawić, ale nie chcę tego robić, ponieważ chcę się upewnić, jaka jest tego przyczyna: P
Co mountmówi Zauważ, że istnieje również szansa, że ​​może się zawiesić (nie sądzę, że powinna, ale nie jestem w 100% pewien).
Mikel
3

westchnienie obsługa zamkniętych pytań jest dość słaba, to będzie trzeci raz, kiedy spróbuję to napisać, więc proszę wybacz zwięzłość.

Najpierw użyj intrmontowań NFS. Domyślne hardpodłączenia NFS zawieszają się na zawsze. softWierzchowce NFS błędu się po pewnym czasie na zewnątrz (co może być głupi dla nieustalonych błędów.) intrPozwala Ci zdecydować, aby przerwać operację Hung NFS. Dokładnie.

Po drugie, aby naprawić ten głupi problem, wcześniej użyłem głupiej sztuczki , prawdopodobnie nadal działa. Wychować alias interfejsu na loz NFS Server IP Address ( edit : ifconfig eth0:0 <ipaddress>). Utwórz /etc/exportsplik zawierający wiersz, aby wyeksportować system plików, na którym się zawiesiłeś ( edytuj : wyeksportuj system plików o tej samej nazwie, co system plików „zawieszony”; musisz utworzyć tę samą nazwę ścieżki, co zamontowany) . Uruchom serwer NFS na komputerze lokalnym i, mam nadzieję, że zawieszony program może zawierać błąd „nie znaleziono pliku” lub „nie znaleziono katalogu” lub coś w tym rodzaju, pozwalając ci kontynuować pracę bez ponownego uruchamiania.

Nie zapomnij ponownie wyłączyć serwera NFS i po zakończeniu usunąć alias interfejsu.

Sarnold
źródło
Korzystam z montowania intr NFS ... gdzie widziałeś inaczej?
user69239,
O „drugim akapicie” nie rozumiem go zbyt dobrze… przepraszam! :(
user69239,
@ user69239 nie podałeś żadnych szczegółów, więc założyłem, że używasz domyślnego hardtypu montowania. :)
sarnold
@ user69239, nieznacznie rozszerzyłem akapit głupią sztuczką - mam nadzieję, że teraz łatwiej to zrozumieć. :)
sarnold
2

Nie jestem pewien, dlaczego skupiasz się na NFS? Czy pytający używa NFS? Nic o tym nie widziałem.

W każdym razie jest to bardzo dziwny problem od czasu jego / proc. Spróbuj wykonać następujące czynności, aby uzyskać więcej informacji o problemie:

  • Przejdź do / proc i znajdź inne katalogi pid i spróbuj odczytać pliki cmdline z tych katalogów.
  • Spróbuj także przeczytać / proc / pid / stat, jeśli to nie zadziała, powiedziałbym, że twój system ma problemy z jądrem.
  • Czy jesteś w stanie uruchomić netstat -n? Odczytuje to z różnych części / proc, więc może działać i oznaczałoby mniejszy problem z interfejsem proc.
  • Spróbuj zamontować ponownie / proc z mount -o remount / proc, chociaż nie mam pojęcia, co by to zrobiło w tej sytuacji.

Po prostu sugeruję ponowne uruchomienie. Jeśli nie możesz odczytać rzeczy z proc, nie jestem pewien, co znajdziesz za pomocą innych metod. Jeśli to się powtórzy, zacznij się martwić.

deltaray
źródło
Tak, jestem z systemem plików NFS ... Problem polega na skopiowaniu pliku przez system bezpieczników s3
user69239,
Bezpiecznik i NSF to różne rzeczy. Myślę, że musisz podać wszystkie szczegóły, jakie możesz. Dostarczyłeś wiele informacji, ale wiedza na temat konfiguracji i tego, jak to wszystko się zaczęło, jest niezbędnym pierwszym krokiem.
deltaray
Problem pojawił się podczas wykonywania masowej komendy „cp” z mojego hosta (małej instancji Amazona) do S3, połączonej z s3f3 1.40 tylko z opcją allow_other. Moje Ubuntu to zwykła podstawowa instalacja 10.10 z typową aktualizacją. Nic więcej. Naprawdę: P
user69239,